diff --git a/packages/frontend/src/scripts/theme.ts b/packages/frontend/src/scripts/theme.ts index e59643b09cf4bedab6c4ccbe769e9be87341d895..1fb7a0c3962c450d97d44512d0410244b47702fb 100644 --- a/packages/frontend/src/scripts/theme.ts +++ b/packages/frontend/src/scripts/theme.ts @@ -41,6 +41,7 @@ export const getBuiltinThemes = () => Promise.all( 'l-cherry', 'l-sushi', 'l-u0', + 'l-evilfoundry', 'd-dark', 'd-persimmon', @@ -52,6 +53,7 @@ export const getBuiltinThemes = () => Promise.all( 'd-cherry', 'd-ice', 'd-u0', + 'd-evilfoundry', 'rosepine', 'rosepine-dawn', ].map(name => import(`@/themes/${name}.json5`).then(({ default: _default }): Theme => _default)), diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts index 8665cdaf7661fa64c33e0c15d0257102c920e92e..2d91b9782f5283d601ba9e001cc8132275baa0bd 100644 --- a/packages/frontend/src/store.ts +++ b/packages/frontend/src/store.ts @@ -598,8 +598,8 @@ interface Watcher { /** * 常ã«ãƒ¡ãƒ¢ãƒªã«ãƒãƒ¼ãƒ‰ã—ã¦ãŠãå¿…è¦ãŒãªã„よã†ãªè¨å®šæƒ…å ±ã‚’ä¿ç®¡ã™ã‚‹ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸(éžãƒªã‚¢ã‚¯ãƒ†ã‚£ãƒ–) */ -import lightTheme from '@/themes/l-cherry.json5'; -import darkTheme from '@/themes/d-ice.json5'; +import lightTheme from '@/themes/l-evilfoundry.json5'; +import darkTheme from '@/themes/d-evilfoundry.json5'; export class ColdDeviceStorage { public static default = { diff --git a/packages/frontend/src/themes/d-evilfoundry.json5 b/packages/frontend/src/themes/d-evilfoundry.json5 new file mode 100644 index 0000000000000000000000000000000000000000..48c4de13a61867d0b0e23ea270166b6b185ded01 --- /dev/null +++ b/packages/frontend/src/themes/d-evilfoundry.json5 @@ -0,0 +1,91 @@ +{ + id: '5cad809a-7732-4729-8d6c-63f376a90776', + base: 'dark', + desc: 'The default theme of the Evil Sharkey instance. (Dark variant)', + name: 'Evil Foundry Dark', + author: '@23Sonics@evilfoundry.net', + props: { + bg: '#191502', + fg: '#fafafa', + cwBg: '#687390', + cwFg: '#393f4f', + link: '#44a4c1', + warn: '#ecb637', + badge: '#31b1ce', + error: '#ec4137', + focus: ':alpha<0.3<@accent', + navBg: '@panel', + navFg: '@fg', + panel: ':lighten<3<@bg', + popup: ':lighten<3<@panel', + accent: '#af763a', + header: ':alpha<0.7<@panel', + infoBg: '#253142', + infoFg: '#fff', + renote: '#229e82', + shadow: 'rgba(0, 0, 0, 0.3)', + divider: 'rgba(255, 255, 255, 0.1)', + hashtag: '#ff9156', + mention: ':lighten<13<@accent', + modalBg: 'rgba(0, 0, 0, 0.5)', + success: '#86b300', + buttonBg: 'rgba(255, 255, 255, 0.05)', + switchBg: 'rgba(255, 255, 255, 0.15)', + acrylicBg: ':alpha<0.5<@bg', + cwHoverBg: '#707b97', + indicator: '@accent', + mentionMe: '@mention', + messageBg: '@bg', + navActive: '@accent', + panelFade: ':alpha<0<@panel', + accentedBg: ':alpha<0.15<@accent', + codeNumber: '#cfff9e', + codeString: '#ffb675', + fgOnAccent: '#fff', + infoWarnBg: '#42321c', + infoWarnFg: '#ffbd3e', + navHoverFg: ':lighten<17<@fg', + pageHeader: ':alpha<0.85<@bg', + swutchOnBg: '@accentedBg', + swutchOnFg: '@accent', + codeBoolean: '#c59eff', + dateLabelFg: '@fg', + inputBorder: 'rgba(255, 255, 255, 0.1)', + panelBorder: '" solid 1px var(--divider)', + swutchOffBg: 'rgba(255, 255, 255, 0.1)', + swutchOffFg: '@fg', + accentDarken: ':darken<10<@accent', + acrylicPanel: ':alpha<0.5<@panel', + navIndicator: '@indicator', + windowHeader: ':alpha<0.85<@panel', + accentLighten: ':lighten<10<@accent', + buttonHoverBg: 'rgba(255, 255, 255, 0.1)', + driveFolderBg: ':alpha<0.3<@accent', + fgHighlighted: ':lighten<3<@fg', + fgTransparent: ':alpha<0.5<@fg', + panelActiveBg: '@accentedBg', + panelActiveFg: '@accent', + panelHeaderBg: ':lighten<3<@panel', + panelHeaderFg: '@fg', + buttonGradateA: '@accent', + buttonGradateB: ':hue<20<@accent', + dividerHovered: 'rgba(255, 255, 255, 0.15)', + htmlThemeColor: '@bg', + panelHighlight: ':lighten<3<@panel', + listItemHoverBg: 'rgba(255, 255, 255, 0.03)', + scrollbarHandle: 'rgba(255, 255, 255, 0.2)', + accentDarkenLess: ':darken<5<@accent', + inputBorderHover: 'rgba(255, 255, 255, 0.2)', + messagingIsNotMe: 'rgba(255, 255, 255, 0.1)', + navBgTransparent: ':alpha<0.5<@navBg', + panelTransparent: ':alpha<0.7<@panel', + wallpaperOverlay: 'rgba(0, 0, 0, 0.5)', + accentLightenLess: ':lighten<5<@accent', + fgTransparentWeak: ':alpha<0.75<@fg', + panelHeaderDivider: 'rgba(0, 0, 0, 0)', + calendarInfoMeterBg: 'rgba(0, 0, 0, 0.3)', + scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)', + postFormButtonHoverBg: 'rgba(255, 255, 255, 0.05)', + interactiveElementHovered: 'rgba(255, 255, 255, 0.05)', + }, +} diff --git a/packages/frontend/src/themes/l-evilfoundry.json5 b/packages/frontend/src/themes/l-evilfoundry.json5 new file mode 100644 index 0000000000000000000000000000000000000000..fffa4fb56c0871945090251240b07fde1487e6ff --- /dev/null +++ b/packages/frontend/src/themes/l-evilfoundry.json5 @@ -0,0 +1,91 @@ +{ + id: '001223d4-e269-4b6d-b71f-6c9585d88512', + base: 'light', + desc: 'The default theme of the Evil Sharkey instance. (Light variant)', + name: 'Evil Foundry Light', + author: '@23Sonics@evilfoundry.net', + props: { + bg: '#fff9e1', + fg: '#000000', + cwBg: '#687390', + cwFg: '#393f4f', + link: '#44a4c1', + warn: '#ecb637', + badge: '#31b1ce', + error: '#ec4137', + focus: ':alpha<0.3<@accent', + navBg: '@panel', + navFg: '@fg', + panel: ':lighten<3<@bg', + popup: ':lighten<3<@panel', + accent: '#fcab53', + header: ':alpha<0.7<@panel', + infoBg: '#253142', + infoFg: '#fff', + renote: '#229e82', + shadow: 'rgba(0, 0, 0, 0.3)', + divider: 'rgba(255, 255, 255, 0.1)', + hashtag: '#935a24', + mention: ':darken<30<@accent', + modalBg: 'rgba(0, 0, 0, 0.5)', + success: '#86b300', + buttonBg: 'rgba(255, 255, 255, 0.05)', + switchBg: 'rgba(255, 255, 255, 0.15)', + acrylicBg: ':alpha<0.5<@bg', + cwHoverBg: '#707b97', + indicator: '@accent', + mentionMe: '@mention', + messageBg: '@bg', + navActive: '@accent', + panelFade: ':alpha<0<@panel', + accentedBg: ':alpha<0.15<@accent', + codeNumber: '#cfff9e', + codeString: '#ffb675', + fgOnAccent: '#fff', + infoWarnBg: '#f4ba10', + infoWarnFg: '#060602', + navHoverFg: ':lighten<17<@fg', + pageHeader: ':alpha<0.85<@bg', + swutchOnBg: '@accentedBg', + swutchOnFg: '@accent', + codeBoolean: '#c59eff', + dateLabelFg: '@fg', + inputBorder: 'rgba(255, 255, 255, 0.1)', + panelBorder: '" solid 1px var(--divider)', + swutchOffBg: 'rgba(255, 255, 255, 0.1)', + swutchOffFg: '@fg', + accentDarken: ':darken<10<@accent', + acrylicPanel: ':alpha<0.5<@panel', + navIndicator: '@indicator', + windowHeader: ':alpha<0.85<@panel', + accentLighten: ':lighten<10<@accent', + buttonHoverBg: 'rgba(255, 255, 255, 0.1)', + driveFolderBg: ':alpha<0.3<@accent', + fgHighlighted: ':lighten<3<@fg', + fgTransparent: ':alpha<0.5<@fg', + panelActiveBg: '@accentedBg', + panelActiveFg: '@accent', + panelHeaderBg: ':lighten<3<@panel', + panelHeaderFg: '@fg', + buttonGradateA: '@accent', + buttonGradateB: ':hue<20<@accent', + dividerHovered: 'rgba(255, 255, 255, 0.15)', + htmlThemeColor: '@bg', + panelHighlight: ':lighten<3<@panel', + listItemHoverBg: 'rgba(255, 255, 255, 0.03)', + scrollbarHandle: 'rgba(255, 255, 255, 0.2)', + accentDarkenLess: ':darken<5<@accent', + inputBorderHover: 'rgba(255, 255, 255, 0.2)', + messagingIsNotMe: 'rgba(255, 255, 255, 0.1)', + navBgTransparent: ':alpha<0.5<@navBg', + panelTransparent: ':alpha<0.7<@panel', + wallpaperOverlay: 'rgba(0, 0, 0, 0.5)', + accentLightenLess: ':lighten<5<@accent', + fgTransparentWeak: ':alpha<0.75<@fg', + panelHeaderDivider: 'rgba(0, 0, 0, 0)', + calendarInfoMeterBg: 'rgba(0, 0, 0, 0.3)', + scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)', + postFormButtonHoverBg: 'rgba(255, 255, 255, 0.05)', + interactiveElementHovered: 'rgba(255, 255, 255, 0.05)', + }, +}