diff --git a/packages/frontend-shared/themes/_dark.json5 b/packages/frontend-shared/themes/_dark.json5 index 1c52dac9d5..3c75ab4993 100644 --- a/packages/frontend-shared/themes/_dark.json5 +++ b/packages/frontend-shared/themes/_dark.json5 @@ -24,7 +24,7 @@ panelHighlight: ':lighten<3<@panel', panelHeaderBg: ':lighten<3<@panel', panelHeaderFg: '@fg', - panelBorder: '" solid 1px var(--MI_THEME-divider)', + panelBorder: 'solid 1px var(--MI_THEME-divider)', thread: ':lighten<12<@panel', windowHeader: ':alpha<0.85<@panel', popup: ':lighten<3<@panel', diff --git a/packages/frontend-shared/themes/psDark.json5 b/packages/frontend-shared/themes/psDark.json5 new file mode 100644 index 0000000000..21983a851c --- /dev/null +++ b/packages/frontend-shared/themes/psDark.json5 @@ -0,0 +1,88 @@ +{ + "base": "dark", + "props": { + "accent": "#cba6f7", + "accentDarken": ":darken<10<@accent", + "accentLighten": ":lighten<10<@accent", + "accentedBg": ":alpha<0.15<@accent", + "focus": ":alpha<0.3<@accent", + "bg": "#11111b", + "acrylicBg": ":alpha<0.5<@bg", + "fg": "#cdd6f4", + "fgTransparentWeak": ":alpha<0.75<@fg", + "fgTransparent": ":alpha<0.5<@fg", + "fgHighlighted": ":lighten<3<@fg", + "fgOnAccent": "#000000", + "divider": "rgba(255, 255, 255, 0.1)", + "indicator": "@accent", + "panel": ":lighten<3<@bg", + "panelHighlight": ":lighten<3<@panel", + "panelHeaderBg": ":lighten<3<@panel", + "panelHeaderFg": "@fg", + "panelHeaderDivider": "rgba(0, 0, 0, 0)", + "panelBorder": "\" solid 1px var(--divider)", + "acrylicPanel": ":alpha<0.5<@panel", + "popup": ":lighten<3<@panel", + "shadow": "rgba(0, 0, 0, 0.3)", + "header": ":alpha<0.7<@panel", + "navBg": "@panel", + "navFg": "@fg", + "navHoverFg": ":lighten<17<@fg", + "navActive": "@accent", + "navIndicator": "@indicator", + "link": "#cba6f7", + "hashtag": "#cba6f7", + "mention": "@accent", + "mentionMe": "@mention", + "renote": "#eba0ac", + "modalBg": "rgba(0, 0, 0, 0.5)", + "scrollbarHandle": "rgba(255, 255, 255, 0.2)", + "scrollbarHandleHover": "rgba(255, 255, 255, 0.4)", + "dateLabelFg": "@fg", + "infoBg": "#cdd6f4", + "infoFg": "#fff", + "infoWarnBg": "#42321c", + "infoWarnFg": "#ffbd3e", + "switchBg": "rgba(255, 255, 255, 0.15)", + "cwBg": "#687390", + "cwFg": "#393f4f", + "cwHoverBg": "#707b97", + "buttonBg": "rgba(255, 255, 255, 0.05)", + "buttonHoverBg": "rgba(255, 255, 255, 0.1)", + "buttonGradateA": "@accent", + "buttonGradateB": ":hue<20<@accent", + "inputBorder": "rgba(255, 255, 255, 0.1)", + "inputBorderHover": "rgba(255, 255, 255, 0.2)", + "listItemHoverBg": "rgba(255, 255, 255, 0.03)", + "driveFolderBg": ":alpha<0.3<@accent", + "wallpaperOverlay": "rgba(0, 0, 0, 0.5)", + "badge": "#31b1ce", + "messageBg": "@bg", + "success": "#86b300", + "error": "#ec4137", + "warn": "#ecb637", + "codeString": "#ffb675", + "codeNumber": "#cfff9e", + "codeBoolean": "#c59eff", + "htmlThemeColor": "@bg", + "X2": ":darken<2<@panel", + "X3": "rgba(255, 255, 255, 0.05)", + "X4": "rgba(255, 255, 255, 0.1)", + "X5": "rgba(255, 255, 255, 0.05)", + "X6": "rgba(255, 255, 255, 0.15)", + "X7": "rgba(255, 255, 255, 0.05)", + "X8": ":lighten<5<@accent", + "X9": ":darken<5<@accent", + "X10": ":alpha<0.4<@accent", + "X11": "rgba(0, 0, 0, 0.3)", + "X12": "rgba(255, 255, 255, 0.1)", + "X13": "rgba(255, 255, 255, 0.15)", + "X14": ":alpha<0.5<@navBg", + "X15": ":alpha<0<@panel", + "X16": ":alpha<0.7<@panel", + "X17": ":alpha<0.8<@bg" + }, + "author": "Leafus", + "id": "ec668ba7-7682-486a-a10f-b4a5b2717d92", + "name": "Puppy Space Theme" +} diff --git a/packages/frontend-shared/themes/pwDark.json5 b/packages/frontend-shared/themes/pwDark.json5 new file mode 100644 index 0000000000..e1641cbea5 --- /dev/null +++ b/packages/frontend-shared/themes/pwDark.json5 @@ -0,0 +1,94 @@ +{ + id: 'dark', + + name: 'Pawkey Dark', + author: 'Leafus', + desc: 'Pawkey Dark theme from our own Colorscheme', + kind: 'dark', + + props: { + accent: '#b89bea', + accentDarken: ':darken<10<@accent', + accentLighten: ':lighten<10<@accent', + accentedBg: ':alpha<0.15<@accent', + love: '#dd2e44', + focus: ':alpha<0.3<@accent', + bg: '#09090a', + acrylicBg: ':alpha<0.5<@bg', + fg: '#f7efff', + fgTransparentWeak: ':alpha<0.75<@fg', + fgTransparent: ':alpha<0.5<@fg', + fgHighlighted: ':lighten<3<@fg', + fgOnAccent: '#000000', + fgOnWhite: '#333', + divider: 'rgba(255, 255, 255, 0.1)', + indicator: '@accent', + panel: ':lighten<3<@bg', + panelHighlight: ':lighten<3<@panel', + panelHeaderBg: ':lighten<3<@panel', + panelHeaderFg: '@fg', + panelHeaderDivider: 'rgba(0, 0, 0, 0)', + panelBorder: 'solid 1px var(--MI_THEME-divider)', + thread: ':lighten<12<@panel', + acrylicPanel: ':alpha<0.5<@panel', + windowHeader: ':alpha<0.85<@panel', + popup: ':lighten<3<@panel', + shadow: 'rgba(0, 0, 0, 0.3)', + header: ':alpha<0.7<@panel', + navBg: '@panel', + navFg: '@fg', + navHoverFg: ':lighten<17<@fg', + navActive: '@accent', + navIndicator: '@indicator', + link: '#b89bea', + hashtag: '#b89bea', + mention: '@accent', + mentionMe: '@mention', + renote: '#fb96f9', + modalBg: 'rgba(0, 0, 0, 0.5)', + scrollbarHandle: 'rgba(255, 255, 255, 0.2)', + scrollbarHandleHover: 'rgba(255, 255, 255, 0.4)', + dateLabelFg: '@fg', + infoBg: '#adedff', + infoFg: '#fff', + infoWarnBg: '#704830', + infoWarnFg: '#fab387', + folderHeaderBg: 'rgba(255, 255, 255, 0.05)', + folderHeaderHoverBg: 'rgba(255, 255, 255, 0.1)', + buttonBg: ':lighten<5<@panel', + buttonHoverBg: ':lighten<10<@panel', + buttonGradateA: '@accent', + buttonGradateB: ':hue<20<@accent', + switchBg: 'rgba(255, 255, 255, 0.15)', + switchOffBg: 'rgba(255, 255, 255, 0.1)', + switchOffFg: ':alpha<0.8<@fg', + switchOnBg: '@accentedBg', + switchOnFg: '@accent', + inputBorder: 'rgba(255, 255, 255, 0.1)', + inputBorderHover: 'rgba(255, 255, 255, 0.2)', + driveFolderBg: ':alpha<0.3<@accent', + wallpaperOverlay: 'rgba(0, 0, 0, 0.5)', + badge: '#89dceb', + messageBg: '@bg', + success: '#c3ffad', + error: '#ff5557', + warn: '#f9e2af', + codeString: '#ffb675', + codeNumber: '#cfff9e', + codeBoolean: '#c59eff', + deckBg: '#000', + htmlThemeColor: '@bg', + X3: 'rgba(255, 255, 255, 0.05)', + X4: 'rgba(255, 255, 255, 0.1)', + X5: 'rgba(255, 255, 255, 0.05)', + X6: 'rgba(255, 255, 255, 0.15)', + X7: 'rgba(255, 255, 255, 0.05)', + X11: 'rgba(0, 0, 0, 0.3)', + X12: 'rgba(255, 255, 255, 0.1)', + X13: 'rgba(255, 255, 255, 0.15)', + }, + + codeHighlighter: { + base: 'one-dark-pro', + }, +} diff --git a/packages/frontend/src/components/MkFeaturedPhotos.vue b/packages/frontend/src/components/MkFeaturedPhotos.vue index c42c692db0..1fa8405685 100644 --- a/packages/frontend/src/components/MkFeaturedPhotos.vue +++ b/packages/frontend/src/components/MkFeaturedPhotos.vue @@ -4,16 +4,42 @@ SPDX-License-Identifier: AGPL-3.0-only --> - + + + + diff --git a/packages/frontend/src/components/MkNote.vue b/packages/frontend/src/components/MkNote.vue index 56bfa5de94..cb503058c6 100644 --- a/packages/frontend/src/components/MkNote.vue +++ b/packages/frontend/src/components/MkNote.vue @@ -27,6 +27,7 @@ SPDX-License-Identifier: AGPL-3.0-only + @@ -495,7 +496,7 @@ if (!props.mock) { } } -function boostVisibility(forceMenu: boolean = false) { +function boostVisibility(forceMenu = false) { if (renoting) return; if (!prefer.s.showVisibilitySelectorOnBoost && !forceMenu) { @@ -505,7 +506,7 @@ function boostVisibility(forceMenu: boolean = false) { } } -function renote(visibility: Visibility, localOnly: boolean = false) { +function renote(visibility: Visibility, localOnly = false) { pleaseLogin({ openOnRemote: pleaseLoginContext.value }); showMovedDialog(); @@ -1204,9 +1205,12 @@ function emitUpdReaction(emoji: string, delta: number) { margin: 0; padding: 8px; opacity: 0.7; + border-radius: var(--MI-radius-sm); + transition: all 300ms; &:hover { - color: var(--MI_THEME-fgHighlighted); + background: color-mix(in srgb, var(--MI_THEME-renote) 10%, transparent) !important; + color: var(--MI_THEME-renote); } } diff --git a/packages/frontend/src/components/MkNoteDetailed.vue b/packages/frontend/src/components/MkNoteDetailed.vue index 7f38b9ec02..66be92b533 100644 --- a/packages/frontend/src/components/MkNoteDetailed.vue +++ b/packages/frontend/src/components/MkNoteDetailed.vue @@ -498,7 +498,7 @@ useTooltip(quoteButton, async (showing) => { }); }); -function boostVisibility(forceMenu: boolean = false) { +function boostVisibility(forceMenu = false) { if (renoting) return; if (!prefer.s.showVisibilitySelectorOnBoost && !forceMenu) { @@ -532,7 +532,7 @@ if (appearNote.value.reactionAcceptance === 'likeOnly') { }); } -function renote(visibility: Visibility, localOnly: boolean = false) { +function renote(visibility: Visibility, localOnly = false) { pleaseLogin({ openOnRemote: pleaseLoginContext.value }); showMovedDialog(); @@ -1084,9 +1084,12 @@ function animatedMFM() { margin: 0; padding: 8px; opacity: 0.7; + border-radius: var(--MI-radius-sm); + transition: all 300ms; &:hover { - color: var(--MI_THEME-fgHighlighted); + background: color-mix(in srgb, var(--MI_THEME-renote) 10%, transparent) !important; + color: var(--MI_THEME-renote); } } diff --git a/packages/frontend/src/components/MkNoteSub.vue b/packages/frontend/src/components/MkNoteSub.vue index 58de5bd5a7..5f4ec7294c 100644 --- a/packages/frontend/src/components/MkNoteSub.vue +++ b/packages/frontend/src/components/MkNoteSub.vue @@ -302,7 +302,7 @@ function boostVisibility(forceMenu: boolean = false) { } } -function renote(visibility: Visibility, localOnly: boolean = false) { +function renote(visibility: Visibility, localOnly = false) { pleaseLogin({ openOnRemote: pleaseLoginContext.value }); showMovedDialog(); @@ -459,11 +459,14 @@ if (props.detail) { .noteFooterButton { margin: 0; padding: 8px; - padding-top: 10px; opacity: 0.7; + margin-top: 10px; + border-radius: var(--MI-radius-sm); + transition: all 300ms; &:hover { - color: var(--MI_THEME-fgHighlighted); + background: color-mix(in srgb, var(--MI_THEME-renote) 10%, transparent) !important; + color: var(--MI_THEME-renote); } } diff --git a/packages/frontend/src/components/MkSignin.password.vue b/packages/frontend/src/components/MkSignin.password.vue index ff7c598b50..5fae07d81e 100644 --- a/packages/frontend/src/components/MkSignin.password.vue +++ b/packages/frontend/src/components/MkSignin.password.vue @@ -6,19 +6,21 @@ SPDX-License-Identifier: AGPL-3.0-only - + + + - + - + - + {{ i18n.ts.forgotPassword }} @@ -29,7 +31,7 @@ SPDX-License-Identifier: AGPL-3.0-only - + {{ i18n.ts.continue }} @@ -53,7 +55,7 @@ export type PwResponse = {