From 12cdf88c451f106a8c380c28ecdf330341486e89 Mon Sep 17 00:00:00 2001 From: nuanyang233 Date: Sun, 17 Apr 2022 22:08:58 +0800 Subject: [PATCH 1/4] feat: add new theme color --- .../twitter.com/customization/custom.ts | 26 +++-- .../customization/twitter-color-schema.json | 110 +++++------------- .../mask/src/utils/theme/theme-global.d.ts | 2 + 3 files changed, 51 insertions(+), 87 deletions(-) diff --git a/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts b/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts index 4eaebd387972..fefc7231ba05 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/customization/custom.ts @@ -71,21 +71,14 @@ export function useThemeTwitterVariant(baseTheme: Theme) { setAutoFreeze(false) const TwitterTheme = produce(baseTheme, (theme) => { - theme.palette.background.paper = backgroundColor const isDark = theme.palette.mode === 'dark' - const isDarker = backgroundColor === 'rgb(0,0,0)' theme.palette.primary = { light: toRGB(shade(primaryColorRGB, 10)), main: toRGB(primaryColorRGB), dark: toRGB(shade(primaryColorRGB, -10)), contrastText: toRGB(primaryContrastColorRGB), } - const themeName = isDark ? (isDarker ? 'darker' : 'dark') : 'light' - - // Just for design - if (themeName === 'dark') { - theme.palette.background.paper = '#151D26' - } + const themeName = isDark ? 'dark' : 'light' const colorSchema = twitterColorSchema[themeName] const colors = Object.keys(colorSchema) as Array @@ -100,6 +93,23 @@ export function useThemeTwitterVariant(baseTheme: Theme) { theme.breakpoints.values = { xs: 0, sm: 687, md: 1024, lg: 1280, xl: 1920 } theme.components = theme.components || {} const smallQuery = `@media (max-width: ${theme.breakpoints.values.sm}px)` + theme.components.MuiInputBase = { + styleOverrides: { + root: { + background: theme.palette.background.input, + }, + input: { + background: theme.palette.background.input, + }, + }, + } + theme.components.MuiDialogTitle = { + styleOverrides: { + root: { + background: theme.palette.background.modalTitle, + }, + }, + } theme.components.MuiButton = { defaultProps: { size: 'medium', diff --git a/packages/mask/src/social-network-adaptor/twitter.com/customization/twitter-color-schema.json b/packages/mask/src/social-network-adaptor/twitter.com/customization/twitter-color-schema.json index 51859be679c4..b0d1cda03043 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/customization/twitter-color-schema.json +++ b/packages/mask/src/social-network-adaptor/twitter.com/customization/twitter-color-schema.json @@ -7,16 +7,19 @@ "50": "#eff3f4" }, "text": { - "primary": "#0f1419", + "primary": "#07101B", "secondary": "#536471", + "third": "#ACB4C1", "strong": "#111418", "buttonText": "#FFFFFF" }, "background": { - "default": "#F6F8F8", - "input": "#EDF1F2", + "default": "#F9F9F9", + "input": "#F2F6FA", "tipMask": "rgba(0, 0, 0, 0.85)", - "messageShadow": "rgba(101, 119, 134, 0.2)" + "messageShadow": "rgba(101, 119, 134, 0.2)", + "paper": "#ffffff", + "modalTitle": "linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 100%), linear-gradient(90deg, rgba(98, 152, 234, 0.2) 1.03%, rgba(98, 152, 234, 0.2) 1.04%, rgba(98, 126, 234, 0.2) 100%)" }, "error": { "main": "#F4212E" @@ -37,16 +40,19 @@ "50": "#cfd9de" }, "text": { - "primary": "#0f1419", - "secondary": "#536471", + "primary": "#07101B", + "secondary": "#767F8D", "strong": "#111418", - "buttonText": "#FFFFFF" + "buttonText": "#FFFFFF", + "third": "#ACB4C1" }, "background": { - "default": "#F6F8F8", - "input": "#EDF1F2", + "default": "#F9F9F9", + "input": "#F2F6FA", "tipMask": "rgba(0, 0, 0, 0.85)", - "messageShadow": "rgba(101, 119, 134, 0.2)" + "messageShadow": "rgba(101, 119, 134, 0.2)", + "paper": "#ffffff", + "modalTitle": "linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 100%), linear-gradient(90deg, rgba(98, 152, 234, 0.2) 1.03%, rgba(98, 152, 234, 0.2) 1.04%, rgba(98, 126, 234, 0.2) 100%)" }, "error": { "main": "#FF5555" @@ -67,16 +73,19 @@ "50": "#253341" }, "text": { - "primary": "#EFF3F4", + "primary": "#F5F5F5", "secondary": "#8899A6", + "third": "#666C75", "strong": "#FFFFFF", "buttonText": "#0F1419" }, "background": { - "default": "#18232E", - "input": "#212D39", + "default": "#1C1C1C", + "input": "#26292C", "tipMask": "rgba(255, 255, 255, 0.85)", - "messageShadow": "rgba(136, 153, 166, 0.2)" + "messageShadow": "rgba(136, 153, 166, 0.2)", + "paper": "#101010", + "modalTitle": "linear-gradient(180deg, #202020 0%, #181818 100%)" }, "error": { "main": "#FF5555" @@ -97,8 +106,9 @@ "50": "#10171e" }, "text": { - "primary": "#EFF3F4", - "secondary": "#8899A6", + "primary": "#F5F5F5", + "secondary": "#C4C7CD", + "third": "#666C75", "strong": "#FFFFFF", "buttonText": "#0F1419" }, @@ -108,75 +118,17 @@ "divider": "#38444D", "secondaryDivider": "#38444D", "background": { - "default": "#18232E", - "input": "#212D39", + "default": "#1C1C1C", + "input": "#26292C", "tipMask": "rgba(255, 255, 255, 0.85)", - "messageShadow": "rgba(136, 153, 166, 0.2)" + "messageShadow": "rgba(136, 153, 166, 0.2)", + "paper": "#101010", + "modalTitle": "linear-gradient(180deg, #202020 0%, #181818 100%)" }, "action": { "buttonHover": "#D7DBDC", "bgHover": "#1D2933", "mask": "rgba(91, 112, 131, 0.4)" } - }, - "darker": { - "grey": { - "700": "#6e767d", - "300": "#3d4145", - "200": "#2f3336", - "50": "#202327" - }, - "text": { - "primary": "#D9D9D9", - "secondary": "#6E767D", - "strong": "#EFF3F4", - "buttonText": "#0F1419" - }, - "background": { - "default": "#15171A", - "input": "#1D2023", - "tipMask": "rgba(255, 255, 255, 0.85)", - "messageShadow": "rgba(255, 255, 255, 0.2)" - }, - "error": { - "main": "#FF5555" - }, - "divider": "#2F3336", - "secondaryDivider": "#2F3336", - "action": { - "buttonHover": "#D7dBDC", - "bgHover": "#1A1D20", - "mask": "rgba(91, 112, 131, 0.4)" - } - }, - "darker_high_contrast": { - "grey": { - "700": "#929ca6", - "300": "#6e767d", - "200": "#3d4145", - "50": "#121517" - }, - "text": { - "primary": "#D9D9D9", - "secondary": "#6E767D", - "strong": "#EFF3F4", - "buttonText": "#0F1419" - }, - "error": { - "main": "#FF5555" - }, - "divider": "#2F3336", - "secondaryDivider": "#2F3336", - "background": { - "default": "#15171A", - "input": "#1D2023", - "tipMask": "rgba(255, 255, 255, 0.85)", - "messageShadow": "rgba(255, 255, 255, 0.2)" - }, - "action": { - "buttonHover": "#D7dBDC", - "bgHover": "#1A1D20", - "mask": "rgba(91, 112, 131, 0.4)" - } } } diff --git a/packages/mask/src/utils/theme/theme-global.d.ts b/packages/mask/src/utils/theme/theme-global.d.ts index 7037f9436dfe..389453dee8c7 100644 --- a/packages/mask/src/utils/theme/theme-global.d.ts +++ b/packages/mask/src/utils/theme/theme-global.d.ts @@ -3,6 +3,7 @@ declare module '@mui/material/styles/createPalette.d' { secondaryDivider: string } export interface TypeText { + third: string hint: string strong: string buttonText: string @@ -16,6 +17,7 @@ declare module '@mui/material/styles/createPalette.d' { input: string tipMask: string messageShadow: string + modalTitle: string } } export {} From 8ca3a7942d2077972a38200044c8199213c6d574 Mon Sep 17 00:00:00 2001 From: nuanyang233 Date: Wed, 20 Apr 2022 22:51:03 +0800 Subject: [PATCH 2/4] feat: add new button variants and theme --- .../src/components/shared/WalletStatusBox.tsx | 2 +- .../twitter.com/customization/custom.ts | 524 +++++++++++++++--- .../customization/twitter-color-schema.json | 56 +- .../twitter.com/ui-provider.ts | 1 - .../mask/src/utils/theme/theme-global.d.ts | 17 + .../mask/src/utils/theme/useSwapPageTheme.ts | 16 - .../contexts/components/InjectedDialog.tsx | 1 - packages/theme/src/extended.d.ts | 5 +- 8 files changed, 510 insertions(+), 112 deletions(-) diff --git a/packages/mask/src/components/shared/WalletStatusBox.tsx b/packages/mask/src/components/shared/WalletStatusBox.tsx index f75f919884b7..68025e7c5f6e 100644 --- a/packages/mask/src/components/shared/WalletStatusBox.tsx +++ b/packages/mask/src/components/shared/WalletStatusBox.tsx @@ -218,7 +218,7 @@ export function WalletStatusBox(props: WalletStatusBox) { ) : null}