From daf15a1a8db294bff190787df5dfc077729f3c10 Mon Sep 17 00:00:00 2001 From: nbats <44333466+nbats@users.noreply.github.com> Date: Thu, 29 Jan 2026 18:37:56 -0800 Subject: [PATCH] Revert "Custom Color Theme Selector (#4641)" (#4661) This reverts commit a71bb4c0d01187f4594447ca9acfd50096f84165. --- docs/.vitepress/config.mts | 7 - .../theme/components/ColorPicker.vue | 252 +-------- .../theme/components/CustomColorSelector.vue | 486 ------------------ .../theme/components/ThemeDropdown.vue | 71 +-- docs/.vitepress/theme/themes/themeHandler.ts | 208 +------- docs/.vitepress/theme/themes/types.ts | 2 +- docs/.vitepress/transformer/constants.ts | 2 +- package-lock.json | Bin 592368 -> 587199 bytes package.json | 4 +- pnpm-lock.yaml | Bin 339045 -> 330600 bytes unocss.config.ts | 10 +- 11 files changed, 29 insertions(+), 1013 deletions(-) delete mode 100644 docs/.vitepress/theme/components/CustomColorSelector.vue diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index c769477a9..019284713 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -207,13 +207,6 @@ export default defineConfig({ build: { // Shut the fuck up chunkSizeWarningLimit: Number.POSITIVE_INFINITY - }, - css: { - preprocessorOptions: { - scss: { - api: 'modern-compiler' - } - } } }, markdown: { diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue index fb306f7b9..8cf98c059 100644 --- a/docs/.vitepress/theme/components/ColorPicker.vue +++ b/docs/.vitepress/theme/components/ColorPicker.vue @@ -1,37 +1,24 @@ diff --git a/docs/.vitepress/theme/components/CustomColorSelector.vue b/docs/.vitepress/theme/components/CustomColorSelector.vue deleted file mode 100644 index e08890637..000000000 --- a/docs/.vitepress/theme/components/CustomColorSelector.vue +++ /dev/null @@ -1,486 +0,0 @@ - - - - - diff --git a/docs/.vitepress/theme/components/ThemeDropdown.vue b/docs/.vitepress/theme/components/ThemeDropdown.vue index e13b88ab4..e7f2d6994 100644 --- a/docs/.vitepress/theme/components/ThemeDropdown.vue +++ b/docs/.vitepress/theme/components/ThemeDropdown.vue @@ -3,7 +3,7 @@ import { ref, computed, onMounted, onUnmounted } from 'vue' import { useTheme } from '../themes/themeHandler' import type { DisplayMode } from '../themes/types' -const { mode, setMode, amoledEnabled, setAmoledEnabled } = useTheme() +const { mode, setMode, state, amoledEnabled, setAmoledEnabled } = useTheme() const isOpen = ref(false) const dropdownRef = ref(null) @@ -15,33 +15,18 @@ interface ModeChoice { isAmoled?: boolean } -const baseModeChoices: ModeChoice[] = [ +const modeChoices: ModeChoice[] = [ { mode: 'light', label: 'Light', icon: 'i-ph-sun-duotone' }, { mode: 'dark', label: 'Dark', icon: 'i-ph-moon-duotone' }, - { mode: 'dark', label: 'AMOLED', icon: 'i-ph-moon-stars-duotone', isAmoled: true }, - { mode: 'custom', label: 'Custom', icon: 'i-lucide-palette' } + { mode: 'dark', label: 'AMOLED', icon: 'i-ph-moon-stars-duotone', isAmoled: true } ] -// Only show custom mode when already in custom mode -const modeChoices = computed(() => { - const current = (mode && (mode as any).value) ? (mode as any).value : 'light' - if (current === 'custom') { - return baseModeChoices - } - // Filter out custom mode when not in custom - return baseModeChoices.filter(choice => choice.mode !== 'custom') -}) - const currentChoice = computed(() => { const current = (mode && (mode as any).value) ? (mode as any).value : 'light' - // Handle custom mode - if (current === 'custom') { - return baseModeChoices[3] // Custom option - } if (current === 'dark' && amoledEnabled.value) { - return baseModeChoices[2] // AMOLED option + return modeChoices[2] // AMOLED option } - return baseModeChoices.find(choice => choice.mode === current && !choice.isAmoled) || baseModeChoices[0] + return modeChoices.find(choice => choice.mode === current && !choice.isAmoled) || modeChoices[0] }) const toggleDropdown = () => { @@ -49,20 +34,6 @@ const toggleDropdown = () => { } const selectMode = (choice: ModeChoice) => { - const current = (mode && (mode as any).value) ? (mode as any).value : 'light' - - // Prevent switching to Light/Dark/AMOLED when in custom mode - if (current === 'custom' && choice.mode !== 'custom') { - isOpen.value = false - return - } - - // Prevent switching when clicking custom (clicking custom does nothing) - if (choice.mode === 'custom') { - isOpen.value = false - return - } - if (choice.isAmoled) { setMode('dark') setAmoledEnabled(true) @@ -75,31 +46,12 @@ const selectMode = (choice: ModeChoice) => { const isActiveChoice = (choice: ModeChoice) => { const current = (mode && (mode as any).value) ? (mode as any).value : 'light' - // Handle custom mode - if (choice.mode === 'custom') { - return current === 'custom' - } if (choice.isAmoled) { return current === 'dark' && amoledEnabled.value } return choice.mode === current && !choice.isAmoled && !amoledEnabled.value } -// Check if a choice should be disabled -const isDisabled = (choice: ModeChoice) => { - const current = (mode && (mode as any).value) ? (mode as any).value : 'light' - // Disable Light/Dark/AMOLED when in custom mode - return current === 'custom' && choice.mode !== 'custom' -} - -// Get tooltip for disabled items -const getTooltip = (choice: ModeChoice) => { - if (isDisabled(choice)) { - return 'Use default themes to select this' - } - return choice.label -} - const handleClickOutside = (event: MouseEvent) => { if (dropdownRef.value && !dropdownRef.value.contains(event.target as Node)) { isOpen.value = false @@ -134,8 +86,7 @@ onUnmounted(() => { v-for="(choice, index) in modeChoices" :key="index" class="theme-dropdown-item" - :class="{ active: isActiveChoice(choice), disabled: isDisabled(choice) }" - :title="getTooltip(choice)" + :class="{ active: isActiveChoice(choice) }" @click="selectMode(choice)" >
@@ -215,16 +166,6 @@ onUnmounted(() => { font-weight: 500; } - &.disabled { - color: var(--vp-c-text-3); - opacity: 0.5; - cursor: not-allowed; - - &:hover { - background: transparent; - } - } - span { flex: 1; } diff --git a/docs/.vitepress/theme/themes/themeHandler.ts b/docs/.vitepress/theme/themes/themeHandler.ts index bb175abbf..c11c1601d 100644 --- a/docs/.vitepress/theme/themes/themeHandler.ts +++ b/docs/.vitepress/theme/themes/themeHandler.ts @@ -17,12 +17,10 @@ import { ref, onMounted, computed } from 'vue' import type { DisplayMode, ThemeState, Theme, ModeColors } from './types' import { themeRegistry } from './configs' -import tinycolor from 'tinycolor2' const STORAGE_KEY_THEME = 'vitepress-theme-name' const STORAGE_KEY_MODE = 'vitepress-display-mode' const STORAGE_KEY_AMOLED = 'vitepress-amoled-enabled' -const STORAGE_KEY_PREVIOUS_MODE = 'vitepress-previous-mode' export class ThemeHandler { private state = ref({ @@ -31,178 +29,11 @@ export class ThemeHandler { theme: null }) private amoledEnabled = ref(false) - private previousMode = ref('light') constructor() { this.initializeTheme() } - private registerCustomThemeFromStorage() { - if (typeof window === 'undefined') return - - // Load saved custom colors from localStorage - const savedLinkColor = localStorage.getItem('custom-theme-link-color') || '#ffffff' - const savedTextColor = localStorage.getItem('custom-theme-text-color') || '#cccccc' - const savedBgColor = localStorage.getItem('custom-theme-bg-color') || '#000000' - - // Create lighter versions of background for cards - // Increase lightening to make cards more distinct - const lightenedBg = tinycolor(savedBgColor).lighten(10).toString() - const lightenedBgAlt = tinycolor(savedBgColor).lighten(15).toString() - - // Create custom theme with saved colors - const customTheme = { - name: 'custom', - displayName: 'Custom', - preview: savedBgColor, - modes: { - light: { - brand: { - 1: savedLinkColor, - 2: savedLinkColor, - 3: savedLinkColor, - soft: savedLinkColor - }, - bg: savedBgColor, - bgAlt: lightenedBg, - bgElv: lightenedBgAlt, - text: { - 1: savedTextColor, - 2: savedTextColor, - 3: savedTextColor - }, - button: { - brand: { - bg: savedLinkColor, - border: savedLinkColor, - text: savedBgColor, - hoverBorder: savedLinkColor, - hoverText: savedBgColor, - hoverBg: savedLinkColor, - activeBorder: savedLinkColor, - activeText: savedBgColor, - activeBg: savedLinkColor - }, - alt: { - bg: '#484848', - text: '#f0eeee', - hoverBg: '#484848', - hoverText: '#f0eeee' - } - }, - customBlock: { - info: { - bg: savedBgColor, - border: savedLinkColor, - text: savedTextColor, - textDeep: savedTextColor - }, - tip: { - bg: '#D8F8E4', - border: '#447A61', - text: '#2D6A58', - textDeep: '#166534' - }, - warning: { - bg: '#FCEFC3', - border: '#9A8034', - text: '#9C701B', - textDeep: '#92400e' - }, - danger: { - bg: '#FBE1E2', - border: '#B3565E', - text: '#912239', - textDeep: '#991b1b' - } - }, - selection: { - bg: savedLinkColor - }, - home: { - heroNameColor: savedLinkColor, - heroNameBackground: savedBgColor, - heroImageBackground: `linear-gradient(135deg, ${savedBgColor} 0%, ${savedLinkColor} 100%)`, - heroImageFilter: 'blur(44px)' - } - }, - dark: { - brand: { - 1: savedLinkColor, - 2: savedLinkColor, - 3: savedLinkColor, - soft: savedLinkColor - }, - bg: savedBgColor, - bgAlt: lightenedBg, - bgElv: lightenedBgAlt, - text: { - 1: savedTextColor, - 2: savedTextColor, - 3: savedTextColor - }, - button: { - brand: { - bg: savedLinkColor, - border: savedLinkColor, - text: savedBgColor, - hoverBorder: savedLinkColor, - hoverText: savedBgColor, - hoverBg: savedLinkColor, - activeBorder: savedLinkColor, - activeText: savedBgColor, - activeBg: savedLinkColor - }, - alt: { - bg: '#484848', - text: '#f0eeee', - hoverBg: '#484848', - hoverText: '#f0eeee' - } - }, - customBlock: { - info: { - bg: savedBgColor, - border: savedLinkColor, - text: savedTextColor, - textDeep: savedTextColor - }, - tip: { - bg: '#0C2A20', - border: '#184633', - text: '#B0EBC9', - textDeep: '#166534' - }, - warning: { - bg: '#403207', - border: '#7E6211', - text: '#F9DE88', - textDeep: '#92400e' - }, - danger: { - bg: '#3F060A', - border: '#7C0F18', - text: '#F7C1BC', - textDeep: '#991b1b' - } - }, - selection: { - bg: savedLinkColor - }, - home: { - heroNameColor: savedLinkColor, - heroNameBackground: savedBgColor, - heroImageBackground: `linear-gradient(135deg, ${savedBgColor} 0%, ${savedLinkColor} 100%)`, - heroImageFilter: 'blur(44px)' - } - } - } - } - - // Register custom theme - themeRegistry['custom'] = customTheme - } - private initializeTheme() { if (typeof window === 'undefined') return @@ -211,11 +42,6 @@ export class ThemeHandler { const savedMode = localStorage.getItem(STORAGE_KEY_MODE) as DisplayMode | null const savedAmoled = localStorage.getItem(STORAGE_KEY_AMOLED) === 'true' - // If custom theme was saved, register it early from localStorage - if (savedTheme === 'custom') { - this.registerCustomThemeFromStorage() - } - if (themeRegistry[savedTheme]) { this.state.value.currentTheme = savedTheme this.state.value.theme = themeRegistry[savedTheme] @@ -265,9 +91,7 @@ export class ThemeHandler { if (!theme) return - // Custom mode uses dark mode colors from the theme - const effectiveMode = currentMode === 'custom' ? 'dark' : currentMode - const modeColors = theme.modes[effectiveMode] + const modeColors = theme.modes[currentMode] this.applyDOMClasses(currentMode) this.applyCSSVariables(modeColors, theme) @@ -283,7 +107,7 @@ export class ThemeHandler { const root = document.documentElement // Remove all mode classes - root.classList.remove('dark', 'light', 'amoled', 'custom') + root.classList.remove('dark', 'light', 'amoled') // Add current mode class root.classList.add(mode) @@ -335,14 +159,6 @@ export class ThemeHandler { root.style.setProperty('--vp-c-bg', bgColor) root.style.setProperty('--vp-c-bg-alt', bgAltColor) root.style.setProperty('--vp-c-bg-elv', bgElvColor) - - // Apply additional background variables for cards and other elements - root.style.setProperty('--vp-c-bg-soft', bgAltColor) - root.style.setProperty('--vp-c-default-soft', bgElvColor) - root.style.setProperty('--vp-c-default-1', bgAltColor) - root.style.setProperty('--vp-c-default-2', bgElvColor) - root.style.setProperty('--vp-c-default-3', bgColor) - if (colors.bgMark) { root.style.setProperty('--vp-c-bg-mark', colors.bgMark) } @@ -466,12 +282,6 @@ export class ThemeHandler { } public setMode(mode: DisplayMode) { - // Save current mode as previous mode before switching to custom - if (mode === 'custom' && this.state.value.currentMode !== 'custom') { - this.previousMode.value = this.state.value.currentMode - localStorage.setItem(STORAGE_KEY_PREVIOUS_MODE, this.previousMode.value) - } - this.state.value.currentMode = mode localStorage.setItem(STORAGE_KEY_MODE, mode) this.applyTheme() @@ -509,9 +319,7 @@ export class ThemeHandler { if (!theme) return // If theme doesn't specify brand colors, force ColorPicker to reapply its selection const currentMode = this.state.value.currentMode - // Custom mode uses dark mode colors - const effectiveMode = currentMode === 'custom' ? 'dark' : currentMode - const modeColors = theme.modes[effectiveMode] + const modeColors = theme.modes[currentMode] if (!modeColors.brand || !modeColors.brand[1]) { // Trigger a custom event that ColorPicker can listen to @@ -552,15 +360,6 @@ export class ThemeHandler { public isAmoledMode() { return this.state.value.currentMode === 'dark' && this.amoledEnabled.value } - - public restorePreviousMode() { - // Only restore if currently in custom mode - if (this.state.value.currentMode === 'custom') { - const savedPreviousMode = localStorage.getItem(STORAGE_KEY_PREVIOUS_MODE) as DisplayMode | null - const modeToRestore = savedPreviousMode || this.previousMode.value - this.setMode(modeToRestore) - } - } } // Global theme handler instance @@ -596,7 +395,6 @@ export function useTheme() { amoledEnabled: handler.getAmoledEnabledRef(), setAmoledEnabled: (enabled: boolean) => handler.setAmoledEnabled(enabled), toggleAmoled: () => handler.toggleAmoled(), - restorePreviousMode: () => handler.restorePreviousMode(), state } } \ No newline at end of file diff --git a/docs/.vitepress/theme/themes/types.ts b/docs/.vitepress/theme/themes/types.ts index 56e3d2bf2..de54fa80a 100644 --- a/docs/.vitepress/theme/themes/types.ts +++ b/docs/.vitepress/theme/themes/types.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -export type DisplayMode = 'light' | 'dark' | 'custom' +export type DisplayMode = 'light' | 'dark' export interface ModeColors { // Brand colors (optional - if not specified, ColorPicker values are used) diff --git a/docs/.vitepress/transformer/constants.ts b/docs/.vitepress/transformer/constants.ts index 91765cf0a..727a3144b 100644 --- a/docs/.vitepress/transformer/constants.ts +++ b/docs/.vitepress/transformer/constants.ts @@ -147,7 +147,7 @@ export function getHeader(id: string) { const title = '

' - const description = '

' + const description = '

' const feedback = meta.build.api ? '' : '' diff --git a/package-lock.json b/package-lock.json index 56915ee328403e08bb5fa51c8b4e8eae5445da81..bc3a32bdf3548d7eb7feae5ac45e2378647b17c1 100644 GIT binary patch delta 5025 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 Tv@7Huer0Lz?6aS9_MiG+3)*rG delta 6989 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 diff --git a/package.json b/package.json index 414e9aee2..0a62134a3 100644 --- a/package.json +++ b/package.json @@ -36,9 +36,9 @@ "nprogress": "^0.2.0", "pathe": "^2.0.3", "reka-ui": "^2.6.1", - "tinycolor2": "^1.6.0", "unocss": "66.5.10", "vitepress": "^1.6.4", + "vue": "^3.5.25", "x-satori": "^0.4.0", "zod": "^4.1.13" }, @@ -61,7 +61,6 @@ "@iconify/utils": "^3.1.0", "@types/node": "^24.10.1", "@types/nprogress": "^0.2.3", - "@types/tinycolor2": "^1.4.6", "@vue/compiler-sfc": "^3.5.27", "floating-vue": "^5.2.2", "nitro-cloudflare-dev": "^0.2.2", @@ -74,7 +73,6 @@ "vite-plugin-optimize-exclude": "^0.0.1", "vite-plugin-pwa": "^1.2.0", "vite-plugin-terminal": "^1.3.0", - "vue": "^3.5.0", "wrangler": "^4.52.1" }, "pnpm": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a1c5c47e8115e55dfc83d1e28877049158c65e0..820f45b8ad49f24485cca3ed605ca057dbc26be6 100644 GIT binary patch delta 38885 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,wsL6`%1KL~5 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 bf9>UR?q30dLHmSgg);6Ci17HCoYnsaR5=&P delta 43188 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 sd9w!yU$}4ffEEsn7iJICCx3lzc;K