From 9192e88a1200e9b413de50f343b06dd4751e339f Mon Sep 17 00:00:00 2001 From: Ayberk Tandogan Date: Sat, 15 Feb 2020 13:16:05 +0300 Subject: [PATCH] =?UTF-8?q?Tema=20dosyalar=C4=B1=20g=C3=BCncellemesi,=20lo?= =?UTF-8?q?go=20ignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/theming/dark/extra.js | 17 +++ src/config/theming/dark/index.js | 192 +++++++++++++++--------------- src/config/theming/light/extra.js | 17 +++ src/config/theming/light/index.js | 169 +++++++++++++------------- src/static/fullLogo-dark.png | Bin 12085 -> 0 bytes 5 files changed, 219 insertions(+), 176 deletions(-) create mode 100644 src/config/theming/dark/extra.js create mode 100644 src/config/theming/light/extra.js delete mode 100644 src/static/fullLogo-dark.png diff --git a/src/config/theming/dark/extra.js b/src/config/theming/dark/extra.js new file mode 100644 index 0000000..c1f7629 --- /dev/null +++ b/src/config/theming/dark/extra.js @@ -0,0 +1,17 @@ +//Bu dosyayı temanızı kendi değerlerinizle değiştirmek için kullanabilirsiniz. +//Değerleri değiştirmek için MUI paketindeki theme objesine bağlı kalarak değişiklik +//yapmanız gerektiğini unutmayın. +//Theme object: https://material-ui.com/customization/default-theme/ +// ÖRNEK +// theme = { +// palette: { +// primary: { +// main: COLORHEXCODE +// } +// } +// } +const theme = { + +} + +export default theme \ No newline at end of file diff --git a/src/config/theming/dark/index.js b/src/config/theming/dark/index.js index 81c8957..41a23aa 100644 --- a/src/config/theming/dark/index.js +++ b/src/config/theming/dark/index.js @@ -1,107 +1,111 @@ -const palette = { - primary: { main: '#212121' }, - secondary: { main: 'rgb(255,127,80)' }, - background: { - default: "#121212", - level1: "#212121", - level2: "#333", - paper: "#424242" - }, - contrastThreshold: 3, - type: "dark" -} +//Temayı oluştururken MUI Theme objesi değerlerini kullanarak değişiklikler yapıyoruz. Aşağıda custom olarak +//değiştirdiğimiz değerler yer alıyor. Custom olarak değişmeyen değerler, index.js'te theme objesi oluşturulurken +//otomatik olarak oluşturuluyor. Eğer bu değerlerden farklı değerler kullanmak isterseniz ./extra.js içerisinde, +//anlatıldığı şekilde değişiklik yapabilirsiniz. -const props = { - MuiTypography: { - variantMapping: { - body2: 'span', - }, - }, -} +import custom from './extra' +import merge from 'lodash-es/merge' -const typography = { - h1: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "4.8rem", - lineHeight: 1.2 - }, - h2: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "3rem", - lineHeight: 1.2 - }, - h3: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "2.4rem", - lineHeight: 1.2 - }, - h4: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "1.7rem" - }, - h5: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "1rem" - }, - h6: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: ".8rem" - }, - body2: { - fontFamily: "'Rubik', sans-serif", - fontSize: ".8rem", - fontWeight: "bold", - letterSpacing: "0.0075em", - lineHeight: 1.6 +const theme = { + palette: { + primary: { main: '#212121' }, + secondary: { main: 'rgb(255,127,80)' }, + background: { + default: "#121212", + level1: "#212121", + level2: "#333", + paper: "#424242" + }, + contrastThreshold: 3, + type: "dark" }, - subtitle1: { - lineHeight: 1.25 - } -} - -const overrides = { - // Style sheet name ⚛️ - MuiPaper: { - root: { - backgroundColor: palette.background.level1 - } + props: { + MuiTypography: { + variantMapping: { + body2: 'span', + }, + }, }, - MuiAppBar: { - colorPrimary: { - backgroundColor: palette.background.level2, - color: "white" + typography: { + h1: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "4.8rem", + lineHeight: 1.2 + }, + h2: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "3rem", + lineHeight: 1.2 + }, + h3: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "2.4rem", + lineHeight: 1.2 + }, + h4: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "1.7rem" + }, + h5: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "1rem" + }, + h6: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: ".8rem" + }, + body2: { + fontFamily: "'Rubik', sans-serif", + fontSize: ".8rem", + fontWeight: "bold", + letterSpacing: "0.0075em", + lineHeight: 1.6 + }, + subtitle1: { + lineHeight: 1.25 } }, - MuiButton: { - outlinedSecondary: { - color: palette.secondary.main + overrides: { + MuiPaper: { + root: { + backgroundColor: '#212121' + } + }, + MuiAppBar: { + colorPrimary: { + backgroundColor: '#333', + color: "white" + } + }, + MuiButton: { + outlinedSecondary: { + color: 'rgb(255,127,80)' + } + }, + MuiCircularProgress: { + svg: { + color: '#333' + } } }, - MuiCircularProgress: { - svg: { - color: palette.background.level2 + transitions: { + duration: { + short: 400, + shorter: 300 + }, + easing: { + ease: "ease" } - } -} - -const transitions = { - duration: { - short: 400, - shorter: 300 }, - easing: { - ease: "ease" - } + themeName: 'ForFansubs Dark Theme' } -const themeName = 'ForFansubs Dark Theme'; - -const data = { palette, typography, overrides, transitions, props, themeName } +merge(theme, custom) -export default data \ No newline at end of file +export default theme \ No newline at end of file diff --git a/src/config/theming/light/extra.js b/src/config/theming/light/extra.js new file mode 100644 index 0000000..c1f7629 --- /dev/null +++ b/src/config/theming/light/extra.js @@ -0,0 +1,17 @@ +//Bu dosyayı temanızı kendi değerlerinizle değiştirmek için kullanabilirsiniz. +//Değerleri değiştirmek için MUI paketindeki theme objesine bağlı kalarak değişiklik +//yapmanız gerektiğini unutmayın. +//Theme object: https://material-ui.com/customization/default-theme/ +// ÖRNEK +// theme = { +// palette: { +// primary: { +// main: COLORHEXCODE +// } +// } +// } +const theme = { + +} + +export default theme \ No newline at end of file diff --git a/src/config/theming/light/index.js b/src/config/theming/light/index.js index 74b746d..f91cd1a 100644 --- a/src/config/theming/light/index.js +++ b/src/config/theming/light/index.js @@ -1,93 +1,98 @@ -const palette = { - primary: { main: '#90caf9' }, - secondary: { main: 'rgb(255,127,80)' }, - background: { - default: "rgb(255,255,255)", - level1: "rgb(236,236,236)", - level2: "rgb(246,246,246)", - paper: "rgb(255,255,255)" - }, - text: { - primary: "rgba(0, 0, 0, 0.74)" - }, - contrastThreshold: 3, -} +//Temayı oluştururken MUI Theme objesi değerlerini kullanarak değişiklikler yapıyoruz. Aşağıda custom olarak +//değiştirdiğimiz değerler yer alıyor. Custom olarak değişmeyen değerler, index.js'te theme objesi oluşturulurken +//otomatik olarak oluşturuluyor. Eğer bu değerlerden farklı değerler kullanmak isterseniz ./extra.js içerisinde, +//anlatıldığı şekilde değişiklik yapabilirsiniz. -const props = { - MuiTypography: { - variantMapping: { - body2: 'span', - }, - }, -} +import custom from './extra' +import merge from 'lodash-es/merge' -const typography = { - h1: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "4.8rem", - lineHeight: 1.2 - }, - h2: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "3rem", - lineHeight: 1.2 - }, - h3: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "2.4rem", - lineHeight: 1.2 - }, - h4: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "1.7rem" +const theme = { + palette: { + primary: { main: '#90caf9' }, + secondary: { main: 'rgb(255,127,80)' }, + background: { + default: "rgb(255,255,255)", + level1: "rgb(236,236,236)", + level2: "rgb(246,246,246)", + paper: "rgb(255,255,255)" + }, + text: { + primary: "rgba(0, 0, 0, 0.74)" + }, + contrastThreshold: 3, }, - h5: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: "1rem" + props: { + MuiTypography: { + variantMapping: { + body2: 'span', + }, + }, }, - h6: { - fontFamily: `'Rubik', sans-serif`, - fontWeight: "bold", - fontSize: ".8rem" + typography: { + h1: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "4.8rem", + lineHeight: 1.2 + }, + h2: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "3rem", + lineHeight: 1.2 + }, + h3: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "2.4rem", + lineHeight: 1.2 + }, + h4: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "1.7rem" + }, + h5: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: "1rem" + }, + h6: { + fontFamily: `'Rubik', sans-serif`, + fontWeight: "bold", + fontSize: ".8rem" + }, + body2: { + fontFamily: "'Rubik', sans-serif", + fontSize: ".8rem", + fontWeight: "bold", + letterSpacing: "0.0075em", + lineHeight: 1.6 + }, + subtitle1: { + lineHeight: 1.25 + } }, - body2: { - fontFamily: "'Rubik', sans-serif", - fontSize: ".8rem", - fontWeight: "bold", - letterSpacing: "0.0075em", - lineHeight: 1.6 + overrides: { + // Style sheet name ⚛️ + MuiAppBar: { + colorPrimary: { + backgroundColor: 'rgb(236,236,236)' + } + } }, - subtitle1: { - lineHeight: 1.25 - } -} - -const overrides = { - // Style sheet name ⚛️ - MuiAppBar: { - colorPrimary: { - backgroundColor: palette.background.level1 + transitions: { + duration: { + short: 400, + shorter: 300 + }, + easing: { + ease: "ease" } - } -} - -const transitions = { - duration: { - short: 400, - shorter: 300 }, - easing: { - ease: "ease" - } + themeName: 'ForFansubs Light Theme' } -const themeName = 'ForFansubs Light Theme'; - -const data = { palette, typography, overrides, transitions, props, themeName } +merge(theme, custom) -export default data \ No newline at end of file +export default { theme } \ No newline at end of file diff --git a/src/static/fullLogo-dark.png b/src/static/fullLogo-dark.png deleted file mode 100644 index 707344232f1da5a9f7366ba933ddac65d5b89f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12085 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 G@BR-Rj~Xce