From a31d477a8f09de804c49e2344547d17b7f92f98e Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 07:15:20 +0530
Subject: [PATCH 01/26] Update constants.ts
---
docs/.vitepress/constants.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/.vitepress/constants.ts b/docs/.vitepress/constants.ts
index 7f528e868..e28151fd8 100644
--- a/docs/.vitepress/constants.ts
+++ b/docs/.vitepress/constants.ts
@@ -21,9 +21,9 @@ import { transform, transformGuide } from './transformer'
// @unocss-include
export const meta = {
- name: 'freemediaheckyeah',
+ name: 'amoledfreemediaheckyeah',
description: 'The largest collection of free stuff on the internet!',
- hostname: 'https://fmhy.net',
+ hostname: 'https://a-fmhy.pages.dev',
keywords: ['stream', 'movies', 'gaming', 'reading', 'anime'],
build: {
api: true,
From b043b3ad22524a73f398ff6bf2e8d36e0f0c4108 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 07:17:48 +0530
Subject: [PATCH 02/26] Update constants.ts
---
docs/.vitepress/constants.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/.vitepress/constants.ts b/docs/.vitepress/constants.ts
index e28151fd8..7c7c43037 100644
--- a/docs/.vitepress/constants.ts
+++ b/docs/.vitepress/constants.ts
@@ -22,9 +22,9 @@ import { transform, transformGuide } from './transformer'
export const meta = {
name: 'amoledfreemediaheckyeah',
- description: 'The largest collection of free stuff on the internet!',
+ description: 'The largest collection of free stuff on the internet! in amoled!',
hostname: 'https://a-fmhy.pages.dev',
- keywords: ['stream', 'movies', 'gaming', 'reading', 'anime'],
+ keywords: ['stream', 'movies', 'gaming', 'reading', 'anime', 'amoled'],
build: {
api: true,
nsfw: true
From d8bacb8cf5bcd3b3a53e8e6af672bfd27842505c Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 07:20:12 +0530
Subject: [PATCH 03/26] Update index.md
---
docs/index.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/index.md b/docs/index.md
index 1f294e970..ad35e5bf3 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -4,8 +4,8 @@ layout: home
description: The largest collection of free stuff on the internet!
hero:
- name: freemediaheckyeah
- tagline: The largest collection of free stuff on the internet!
+ name: amoledfreemediaheckyeah
+ tagline: The largest collection of free stuff on the internet! in amoled!
announcement:
title: Oct 2025 Updates 🎃
link: /posts/oct-2025
From 2bb57315b3bd2428f3d519193fe82aabaffff956 Mon Sep 17 00:00:00 2001
From: LandWarderer2772 <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 18:30:37 +0530
Subject: [PATCH 04/26] everythin pure blak now
Updated all dark mode and Halloween theme background color variables from dark gray values to pure black (rgb(0, 0, 0)) AMOLED BABYYYYYY
---
docs/.vitepress/theme/style.scss | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/docs/.vitepress/theme/style.scss b/docs/.vitepress/theme/style.scss
index 4c69e7367..0377fc979 100644
--- a/docs/.vitepress/theme/style.scss
+++ b/docs/.vitepress/theme/style.scss
@@ -92,10 +92,10 @@ body {
/* Apply Halloween theme by default - (for dark mode) */
.dark {
- --vp-c-bg: rgb(15, 15, 15) !important;
- --vp-c-bg-alt: rgb(12, 12, 12) !important;
- --vp-c-bg-elv: rgba(12, 12, 12, 0.8) !important;
- --vp-c-bg-soft: rgb(12, 12, 12) !important;
+ --vp-c-bg: rgb(0, 0, 0) !important;
+ --vp-c-bg-alt: rgb(0, 0, 0) !important;
+ --vp-c-bg-elv: rgba(0, 0, 0, 0.8) !important;
+ --vp-c-bg-soft: rgb(0, 0, 0) !important;
--vp-button-alt-bg: #8b5cf6 !important;
--vp-button-alt-text: #e9d5ff !important;
--vp-button-alt-hover-bg: #a855f7 !important;
@@ -109,11 +109,11 @@ body {
}
.dark body {
- background-color: rgb(15, 15, 15) !important;
+ background-color: rgb(0, 0, 0) !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
- background-color: rgb(15, 15, 15) !important;
+ background-color: rgb(0, 0, 0) !important;
}
.dark {
@@ -124,9 +124,9 @@ body {
--vp-c-brand-soft: theme('colors.swarm.300');
/* Colors: Background */
- --vp-c-bg: rgb(26, 26, 26);
- --vp-c-bg-alt: rgb(23, 23, 23);
- --vp-c-bg-elv: rgba(23, 23, 23, 0.8);
+ --vp-c-bg: rgb(0, 0, 0);
+ --vp-c-bg-alt: rgb(0, 0, 0);
+ --vp-c-bg-elv: rgba(0, 0, 0, 0.8);
/* Colors: Custom Block */
/** Info */
@@ -192,10 +192,10 @@ html[data-halloween-theme]:not(.dark) #app {
/* Halloween theme overrides - (for dark mode) */
html[data-halloween-theme].dark {
- --vp-c-bg: rgb(15, 15, 15) !important;
- --vp-c-bg-alt: rgb(12, 12, 12) !important;
- --vp-c-bg-elv: rgba(12, 12, 12, 0.8) !important;
- --vp-c-bg-soft: rgb(12, 12, 12) !important;
+ --vp-c-bg: rgb(0, 0, 0) !important;
+ --vp-c-bg-alt: rgb(0, 0, 0) !important;
+ --vp-c-bg-elv: rgba(0, 0, 0, 0.8) !important;
+ --vp-c-bg-soft: rgb(0, 0, 0) !important;
--vp-button-alt-bg: #8b5cf6 !important;
--vp-button-alt-text: #e9d5ff !important;
--vp-button-alt-hover-bg: #a855f7 !important;
@@ -207,11 +207,11 @@ html[data-halloween-theme].dark {
--vp-button-brand-hover-border: #ea580c !important;
--vp-button-brand-hover-text: #fff !important;
- background-color: rgb(15, 15, 15) !important;
+ background-color: rgb(0, 0, 0) !important;
}
html[data-halloween-theme].dark body {
- background-color: rgb(15, 15, 15) !important;
+ background-color: rgb(0, 0, 0) !important;
}
html[data-halloween-theme].dark .VPApp,
@@ -220,7 +220,7 @@ html[data-halloween-theme].dark .VPContent,
html[data-halloween-theme].dark .VPHome,
html[data-halloween-theme].dark .VPHero,
html[data-halloween-theme].dark #app {
- background-color: rgb(15, 15, 15) !important;
+ background-color: rgb(0, 0, 0) !important;
}
.vp-doc a {
From ddd7de585dc543ca95144fc9f0d02daa5df976c3 Mon Sep 17 00:00:00 2001
From: LandWarderer2772 <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 18:31:43 +0530
Subject: [PATCH 05/26] idk that it bothered me
that hyphen was needed
plus gotta give some credit to me for amoled BUT IM STILL GRATEFUL TO THE GREAT PPL WHO BUILT THIS
---
docs/.vitepress/constants.ts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/.vitepress/constants.ts b/docs/.vitepress/constants.ts
index 7c7c43037..a6fb7d17f 100644
--- a/docs/.vitepress/constants.ts
+++ b/docs/.vitepress/constants.ts
@@ -21,7 +21,7 @@ import { transform, transformGuide } from './transformer'
// @unocss-include
export const meta = {
- name: 'amoledfreemediaheckyeah',
+ name: 'amoled-freemediaheckyeah',
description: 'The largest collection of free stuff on the internet! in amoled!',
hostname: 'https://a-fmhy.pages.dev',
keywords: ['stream', 'movies', 'gaming', 'reading', 'anime', 'amoled'],
@@ -59,7 +59,7 @@ export const commitRef =
? formatCommitRef(process.env.COMMIT_REF)
: 'dev'
-export const feedback = ``
+export const feedback = `
Amoled by land_lmao
`
export const search: DefaultTheme.Config['search'] = {
options: {
From a8d87b3c7a0bcc6ffb6c0b6763c3e3b7600d5d7c Mon Sep 17 00:00:00 2001
From: LandWarderer2772 <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 18:36:47 +0530
Subject: [PATCH 06/26] forgot this mb
---
docs/index.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/index.md b/docs/index.md
index ad35e5bf3..fbd8cf36b 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -4,7 +4,7 @@ layout: home
description: The largest collection of free stuff on the internet!
hero:
- name: amoledfreemediaheckyeah
+ name: amoled-freemediaheckyeah
tagline: The largest collection of free stuff on the internet! in amoled!
announcement:
title: Oct 2025 Updates 🎃
From a53ad8f33ef1cbbc28d34ea48f8fd864a8ea8c78 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 19:00:34 +0530
Subject: [PATCH 07/26] Update constants.ts
---
docs/.vitepress/constants.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/constants.ts b/docs/.vitepress/constants.ts
index a6fb7d17f..85526c297 100644
--- a/docs/.vitepress/constants.ts
+++ b/docs/.vitepress/constants.ts
@@ -59,7 +59,7 @@ export const commitRef =
? formatCommitRef(process.env.COMMIT_REF)
: 'dev'
-export const feedback = `Amoled by land_lmao
`
+export const feedback = ``
export const search: DefaultTheme.Config['search'] = {
options: {
From b719c81f55a4c43875622a9a01607fdcf5817289 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 21:04:49 +0530
Subject: [PATCH 08/26] Change background colors to pure black theme
---
.../theme/components/ColorPicker.vue | 96 ++++++++++++++-----
1 file changed, 73 insertions(+), 23 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index e4be89abf..4c4460025 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -78,7 +78,7 @@ const updateThemeColor = (colorName: ColorNames) => {
}
`
} else {
- // Remove Halloween theme and apply other theme with normal backgrounds
+ // Remove Halloween theme and apply other theme with pure black backgrounds (but exclude buttons)
htmlElement.classList.remove('theme-halloween')
css.value = `
@@ -88,10 +88,10 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
- --vp-c-bg: #ffffff !important;
- --vp-c-bg-alt: #f9f9f9 !important;
- --vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
- --vp-c-bg-soft: #f9f9f9 !important;
+ --vp-c-bg: #000000 !important;
+ --vp-c-bg-alt: #000000 !important;
+ --vp-c-bg-elv: #000000 !important;
+ --vp-c-bg-soft: #000000 !important;
}
.dark {
@@ -100,42 +100,90 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: rgb(26, 26, 26) !important;
- --vp-c-bg-alt: rgb(23, 23, 23) !important;
- --vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
- --vp-c-bg-soft: rgb(23, 23, 23) !important;
+ --vp-c-bg: #000000 !important;
+ --vp-c-bg-alt: #000000 !important;
+ --vp-c-bg-elv: #000000 !important;
+ --vp-c-bg-soft: #000000 !important;
}
+ /* Main page backgrounds - pure black */
html, body {
- background-color: #ffffff !important;
+ background-color: #000000 !important;
}
- .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
- background-color: #ffffff !important;
+ /* VitePress layout containers - pure black */
+ .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app {
+ background-color: #000000 !important;
}
- .VPHome {
- background-color: #ffffff !important;
+ /* Content areas - pure black */
+ .vp-doc, .VPDoc, .content {
+ background-color: #000000 !important;
}
- .VPHome .VPHero {
- background-color: #ffffff !important;
+ /* Navigation and sidebar backgrounds - pure black */
+ .VPNav, .VPSidebar, .VPLocalNav {
+ background-color: #000000 !important;
}
+ /* Footer - pure black */
+ .VPFooter {
+ background-color: #000000 !important;
+ }
+
+ /* EXCLUDE buttons and interactive elements from black background */
+ button,
+ .VPButton,
+ .vp-button,
+ input[type="button"],
+ input[type="submit"],
+ .copy-button,
+ .nav-link,
+ .sidebar-link,
+ .pager-link,
+ .edit-link,
+ .outline-link,
+ .search-button,
+ [role="button"] {
+ background-color: initial !important;
+ }
+
+ /* Dark mode - same rules */
.dark html, .dark body {
- background-color: rgb(26, 26, 26) !important;
+ background-color: #000000 !important;
}
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: rgb(26, 26, 26) !important;
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
+ background-color: #000000 !important;
}
- .dark .VPHome {
- background-color: rgb(26, 26, 26) !important;
+ .dark .vp-doc, .dark .VPDoc, .dark .content {
+ background-color: #000000 !important;
}
- .dark .VPHome .VPHero {
- background-color: rgb(26, 26, 26) !important;
+ .dark .VPNav, .dark .VPSidebar, .dark .VPLocalNav {
+ background-color: #000000 !important;
+ }
+
+ .dark .VPFooter {
+ background-color: #000000 !important;
+ }
+
+ /* EXCLUDE buttons in dark mode too */
+ .dark button,
+ .dark .VPButton,
+ .dark .vp-button,
+ .dark input[type="button"],
+ .dark input[type="submit"],
+ .dark .copy-button,
+ .dark .nav-link,
+ .dark .sidebar-link,
+ .dark .pager-link,
+ .dark .edit-link,
+ .dark .outline-link,
+ .dark .search-button,
+ .dark [role="button"] {
+ background-color: initial !important;
}
`
}
@@ -196,4 +244,6 @@ const normalizeColorName = (colorName: string) =>
Selected: {{ normalizeColorName(selectedColor) }}
+
+
From 82dba0e7fd619824a1a92be526bdbcec9c6bc978 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 18 Oct 2025 21:10:55 +0530
Subject: [PATCH 09/26] Fix template closing tags in ColorPicker.vue
---
docs/.vitepress/theme/components/ColorPicker.vue | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 4c4460025..d2adef1c5 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -244,6 +244,4 @@ const normalizeColorName = (colorName: string) =>
Selected: {{ normalizeColorName(selectedColor) }}
-
-
-
+
From 7fb6189a0e279d48d8a19b2d644a49512a22209b Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Wed, 29 Oct 2025 16:06:30 +0530
Subject: [PATCH 10/26] Add files via upload
---
docs/public/google7413aa30c9633fb8.html | 1 +
1 file changed, 1 insertion(+)
create mode 100644 docs/public/google7413aa30c9633fb8.html
diff --git a/docs/public/google7413aa30c9633fb8.html b/docs/public/google7413aa30c9633fb8.html
new file mode 100644
index 000000000..e2b559caf
--- /dev/null
+++ b/docs/public/google7413aa30c9633fb8.html
@@ -0,0 +1 @@
+google-site-verification: google7413aa30c9633fb8.html
\ No newline at end of file
From 132ef4a25b3767e231e2559fc5a1cc48d7dd08a5 Mon Sep 17 00:00:00 2001
From: land
Date: Fri, 31 Oct 2025 21:18:08 +0530
Subject: [PATCH 11/26] Add AMOLED mode toggle to ColorPicker
1. Added AMOLED Mode as a Universal Toggle
2. New State Management isAmoledMode
3. New UI Element
amoled toggle
---
.../theme/components/ColorPicker.vue | 111 +++++++++++-------
1 file changed, 71 insertions(+), 40 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index e4be89abf..c4e21a10b 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -2,6 +2,7 @@
import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
+import Switch from './Switch.vue'
// Add Halloween colors
const halloweenColors = {
@@ -40,6 +41,7 @@ const colorScales = [
type ColorNames = keyof typeof extendedColors
const selectedColor = useStorage('preferred-color', 'halloween')
+const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(extendedColors).filter(
(key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
@@ -47,7 +49,7 @@ const colorOptions = Object.keys(extendedColors).filter(
const { css } = useStyleTag('', { id: 'brand-color' })
-const updateThemeColor = (colorName: ColorNames) => {
+const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
const colorSet = extendedColors[colorName]
const cssVars = colorScales
@@ -56,9 +58,30 @@ const updateThemeColor = (colorName: ColorNames) => {
const htmlElement = document.documentElement
+ // Manage theme classes
if (colorName === 'halloween') {
- // Apply Halloween theme
htmlElement.classList.add('theme-halloween')
+ } else {
+ htmlElement.classList.remove('theme-halloween')
+ }
+
+ if (amoledEnabled) {
+ htmlElement.classList.add('theme-amoled')
+ } else {
+ htmlElement.classList.remove('theme-amoled')
+ }
+
+ // Determine dark background color based on AMOLED mode
+ const darkBg = amoledEnabled ? '#000000' : 'rgb(26, 26, 26)'
+ const darkBgAlt = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+ const darkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(23, 23, 23, 0.8)'
+ const darkBgSoft = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+
+ // Apply Halloween theme backgrounds or normal backgrounds
+ if (colorName === 'halloween') {
+ const halloweenDarkBg = amoledEnabled ? '#000000' : 'rgb(15, 15, 15)'
+ const halloweenDarkBgAlt = amoledEnabled ? '#000000' : 'rgb(12, 12, 12)'
+ const halloweenDarkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(12, 12, 12, 0.8)'
css.value = `
:root {
@@ -75,12 +98,21 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
+ --vp-c-bg: ${halloweenDarkBg} !important;
+ --vp-c-bg-alt: ${halloweenDarkBgAlt} !important;
+ --vp-c-bg-elv: ${halloweenDarkBgElv} !important;
+ --vp-c-bg-soft: ${halloweenDarkBgAlt} !important;
+ }
+
+ .dark html, .dark body {
+ background-color: ${halloweenDarkBg} !important;
+ }
+
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
+ background-color: ${halloweenDarkBg} !important;
}
`
} else {
- // Remove Halloween theme and apply other theme with normal backgrounds
- htmlElement.classList.remove('theme-halloween')
-
css.value = `
:root {
${cssVars}
@@ -100,10 +132,10 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: rgb(26, 26, 26) !important;
- --vp-c-bg-alt: rgb(23, 23, 23) !important;
- --vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
- --vp-c-bg-soft: rgb(23, 23, 23) !important;
+ --vp-c-bg: ${darkBg} !important;
+ --vp-c-bg-alt: ${darkBgAlt} !important;
+ --vp-c-bg-elv: ${darkBgElv} !important;
+ --vp-c-bg-soft: ${darkBgSoft} !important;
}
html, body {
@@ -114,52 +146,45 @@ const updateThemeColor = (colorName: ColorNames) => {
background-color: #ffffff !important;
}
- .VPHome {
- background-color: #ffffff !important;
- }
-
- .VPHome .VPHero {
- background-color: #ffffff !important;
- }
-
.dark html, .dark body {
- background-color: rgb(26, 26, 26) !important;
+ background-color: ${darkBg} !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: rgb(26, 26, 26) !important;
- }
-
- .dark .VPHome {
- background-color: rgb(26, 26, 26) !important;
- }
-
- .dark .VPHome .VPHero {
- background-color: rgb(26, 26, 26) !important;
+ background-color: ${darkBg} !important;
}
`
}
}
-// Set Halloween theme ASAP if its the pref
-const storedTheme = localStorage.getItem('preferred-color')
-if (!storedTheme || storedTheme === '"halloween"') {
- document.documentElement.classList.add('theme-halloween')
-}
-
-// Initialize theme color
-updateThemeColor(selectedColor.value)
-
-// halloween stuff
onMounted(() => {
+ // Set Halloween theme ASAP if its the pref (only in browser)
+ if (typeof window !== 'undefined') {
+ const storedTheme = localStorage.getItem('preferred-color')
+ const storedAmoled = localStorage.getItem('amoled-mode')
+
+ if (!storedTheme || storedTheme === '"halloween"') {
+ document.documentElement.classList.add('theme-halloween')
+ }
+ if (storedAmoled === 'true') {
+ document.documentElement.classList.add('theme-amoled')
+ }
+ }
+
if (selectedColor.value === 'halloween') {
document.documentElement.classList.add('theme-halloween')
}
+ if (isAmoledMode.value) {
+ document.documentElement.classList.add('theme-amoled')
+ }
+
// Re-apply the theme to ensure everything is initialized
- updateThemeColor(selectedColor.value)
+ updateThemeColor(selectedColor.value, isAmoledMode.value)
})
-watch(selectedColor, updateThemeColor)
+watch([selectedColor, isAmoledMode], ([color, amoled]) => {
+ updateThemeColor(color, amoled)
+})
const normalizeColorName = (colorName: string) =>
colorName.replaceAll(/-/g, ' ').charAt(0).toUpperCase() +
@@ -171,7 +196,7 @@ const normalizeColorName = (colorName: string) =>
From 7b022fc6988755591d75a01108f3004e9811e4f5 Mon Sep 17 00:00:00 2001
From: land
Date: Fri, 31 Oct 2025 21:25:09 +0530
Subject: [PATCH 12/26] Revert "Update ColorPicker.vue"
This reverts commit 3fe4b690d7763c483ef7207a68064f204cdb7dd2, reversing
changes made to 132ef4a25b3767e231e2559fc5a1cc48d7dd08a5.
---
.../theme/components/ColorPicker.vue | 216 ++++++------------
1 file changed, 72 insertions(+), 144 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 6cd715288..c4e21a10b 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -2,6 +2,7 @@
import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
+import Switch from './Switch.vue'
// Add Halloween colors
const halloweenColors = {
@@ -40,6 +41,7 @@ const colorScales = [
type ColorNames = keyof typeof extendedColors
const selectedColor = useStorage('preferred-color', 'halloween')
+const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(extendedColors).filter(
(key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
@@ -47,7 +49,7 @@ const colorOptions = Object.keys(extendedColors).filter(
const { css } = useStyleTag('', { id: 'brand-color' })
-const updateThemeColor = (colorName: ColorNames) => {
+const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
const colorSet = extendedColors[colorName]
const cssVars = colorScales
@@ -56,9 +58,30 @@ const updateThemeColor = (colorName: ColorNames) => {
const htmlElement = document.documentElement
+ // Manage theme classes
if (colorName === 'halloween') {
- // Apply Halloween theme
htmlElement.classList.add('theme-halloween')
+ } else {
+ htmlElement.classList.remove('theme-halloween')
+ }
+
+ if (amoledEnabled) {
+ htmlElement.classList.add('theme-amoled')
+ } else {
+ htmlElement.classList.remove('theme-amoled')
+ }
+
+ // Determine dark background color based on AMOLED mode
+ const darkBg = amoledEnabled ? '#000000' : 'rgb(26, 26, 26)'
+ const darkBgAlt = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+ const darkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(23, 23, 23, 0.8)'
+ const darkBgSoft = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+
+ // Apply Halloween theme backgrounds or normal backgrounds
+ if (colorName === 'halloween') {
+ const halloweenDarkBg = amoledEnabled ? '#000000' : 'rgb(15, 15, 15)'
+ const halloweenDarkBgAlt = amoledEnabled ? '#000000' : 'rgb(12, 12, 12)'
+ const halloweenDarkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(12, 12, 12, 0.8)'
css.value = `
:root {
@@ -75,21 +98,21 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
+ --vp-c-bg: ${halloweenDarkBg} !important;
+ --vp-c-bg-alt: ${halloweenDarkBgAlt} !important;
+ --vp-c-bg-elv: ${halloweenDarkBgElv} !important;
+ --vp-c-bg-soft: ${halloweenDarkBgAlt} !important;
+ }
+
+ .dark html, .dark body {
+ background-color: ${halloweenDarkBg} !important;
+ }
+
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
+ background-color: ${halloweenDarkBg} !important;
}
`
} else {
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
- // Remove Halloween theme and apply other theme with pure black backgrounds (but exclude buttons)
- htmlElement.classList.remove('theme-halloween')
-
->>>>>>> 081e57d5bfb921f28d4044e284e82d991442bcaf
-=======
- // Remove Halloween theme and apply other theme with normal backgrounds
- htmlElement.classList.remove('theme-halloween')
-
->>>>>>> parent of 132ef4a2 (Add AMOLED mode toggle to ColorPicker)
css.value = `
:root {
${cssVars}
@@ -97,10 +120,10 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
- --vp-c-bg: #000000 !important;
- --vp-c-bg-alt: #000000 !important;
- --vp-c-bg-elv: #000000 !important;
- --vp-c-bg-soft: #000000 !important;
+ --vp-c-bg: #ffffff !important;
+ --vp-c-bg-alt: #f9f9f9 !important;
+ --vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
+ --vp-c-bg-soft: #f9f9f9 !important;
}
.dark {
@@ -109,160 +132,59 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
-<<<<<<< HEAD
-<<<<<<< HEAD
--vp-c-bg: ${darkBg} !important;
--vp-c-bg-alt: ${darkBgAlt} !important;
--vp-c-bg-elv: ${darkBgElv} !important;
--vp-c-bg-soft: ${darkBgSoft} !important;
-=======
- --vp-c-bg: #000000 !important;
- --vp-c-bg-alt: #000000 !important;
- --vp-c-bg-elv: #000000 !important;
- --vp-c-bg-soft: #000000 !important;
->>>>>>> 081e57d5bfb921f28d4044e284e82d991442bcaf
-=======
- --vp-c-bg: rgb(26, 26, 26) !important;
- --vp-c-bg-alt: rgb(23, 23, 23) !important;
- --vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
- --vp-c-bg-soft: rgb(23, 23, 23) !important;
->>>>>>> parent of 132ef4a2 (Add AMOLED mode toggle to ColorPicker)
}
- /* Main page backgrounds - pure black */
html, body {
- background-color: #000000 !important;
- }
-
- /* VitePress layout containers - pure black */
- .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app {
- background-color: #000000 !important;
- }
-
-<<<<<<< HEAD
-<<<<<<< HEAD
-=======
- .VPHome {
background-color: #ffffff !important;
}
- .VPHome .VPHero {
+ .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
background-color: #ffffff !important;
}
->>>>>>> parent of 132ef4a2 (Add AMOLED mode toggle to ColorPicker)
.dark html, .dark body {
- background-color: rgb(26, 26, 26) !important;
+ background-color: ${darkBg} !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
-<<<<<<< HEAD
background-color: ${darkBg} !important;
-=======
- /* Content areas - pure black */
- .vp-doc, .VPDoc, .content {
- background-color: #000000 !important;
- }
-
- /* Navigation and sidebar backgrounds - pure black */
- .VPNav, .VPSidebar, .VPLocalNav {
- background-color: #000000 !important;
- }
-
- /* Footer - pure black */
- .VPFooter {
- background-color: #000000 !important;
- }
-
- /* EXCLUDE buttons and interactive elements from black background */
- button,
- .VPButton,
- .vp-button,
- input[type="button"],
- input[type="submit"],
- .copy-button,
- .nav-link,
- .sidebar-link,
- .pager-link,
- .edit-link,
- .outline-link,
- .search-button,
- [role="button"] {
- background-color: initial !important;
- }
-
- /* Dark mode - same rules */
- .dark html, .dark body {
- background-color: #000000 !important;
- }
-
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
- background-color: #000000 !important;
- }
-
- .dark .vp-doc, .dark .VPDoc, .dark .content {
- background-color: #000000 !important;
- }
-
- .dark .VPNav, .dark .VPSidebar, .dark .VPLocalNav {
- background-color: #000000 !important;
- }
-
- .dark .VPFooter {
- background-color: #000000 !important;
- }
-
- /* EXCLUDE buttons in dark mode too */
- .dark button,
- .dark .VPButton,
- .dark .vp-button,
- .dark input[type="button"],
- .dark input[type="submit"],
- .dark .copy-button,
- .dark .nav-link,
- .dark .sidebar-link,
- .dark .pager-link,
- .dark .edit-link,
- .dark .outline-link,
- .dark .search-button,
- .dark [role="button"] {
- background-color: initial !important;
->>>>>>> 081e57d5bfb921f28d4044e284e82d991442bcaf
-=======
- background-color: rgb(26, 26, 26) !important;
- }
-
- .dark .VPHome {
- background-color: rgb(26, 26, 26) !important;
- }
-
- .dark .VPHome .VPHero {
- background-color: rgb(26, 26, 26) !important;
->>>>>>> parent of 132ef4a2 (Add AMOLED mode toggle to ColorPicker)
}
`
}
}
-// Set Halloween theme ASAP if its the pref
-const storedTheme = localStorage.getItem('preferred-color')
-if (!storedTheme || storedTheme === '"halloween"') {
- document.documentElement.classList.add('theme-halloween')
-}
-
-// Initialize theme color
-updateThemeColor(selectedColor.value)
-
-// halloween stuff
onMounted(() => {
+ // Set Halloween theme ASAP if its the pref (only in browser)
+ if (typeof window !== 'undefined') {
+ const storedTheme = localStorage.getItem('preferred-color')
+ const storedAmoled = localStorage.getItem('amoled-mode')
+
+ if (!storedTheme || storedTheme === '"halloween"') {
+ document.documentElement.classList.add('theme-halloween')
+ }
+ if (storedAmoled === 'true') {
+ document.documentElement.classList.add('theme-amoled')
+ }
+ }
+
if (selectedColor.value === 'halloween') {
document.documentElement.classList.add('theme-halloween')
}
+ if (isAmoledMode.value) {
+ document.documentElement.classList.add('theme-amoled')
+ }
+
// Re-apply the theme to ensure everything is initialized
- updateThemeColor(selectedColor.value)
+ updateThemeColor(selectedColor.value, isAmoledMode.value)
})
-watch(selectedColor, updateThemeColor)
+watch([selectedColor, isAmoledMode], ([color, amoled]) => {
+ updateThemeColor(color, amoled)
+})
const normalizeColorName = (colorName: string) =>
colorName.replaceAll(/-/g, ' ').charAt(0).toUpperCase() +
@@ -274,7 +196,7 @@ const normalizeColorName = (colorName: string) =>
-
+
From e67df01479646f1885ac6db7143f0373fb63d189 Mon Sep 17 00:00:00 2001
From: land
Date: Fri, 31 Oct 2025 21:25:16 +0530
Subject: [PATCH 13/26] Revert "Add AMOLED mode toggle to ColorPicker"
This reverts commit 132ef4a25b3767e231e2559fc5a1cc48d7dd08a5.
---
.../theme/components/ColorPicker.vue | 111 +++++++-----------
1 file changed, 40 insertions(+), 71 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index c4e21a10b..e4be89abf 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -2,7 +2,6 @@
import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
-import Switch from './Switch.vue'
// Add Halloween colors
const halloweenColors = {
@@ -41,7 +40,6 @@ const colorScales = [
type ColorNames = keyof typeof extendedColors
const selectedColor = useStorage('preferred-color', 'halloween')
-const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(extendedColors).filter(
(key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
@@ -49,7 +47,7 @@ const colorOptions = Object.keys(extendedColors).filter(
const { css } = useStyleTag('', { id: 'brand-color' })
-const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
+const updateThemeColor = (colorName: ColorNames) => {
const colorSet = extendedColors[colorName]
const cssVars = colorScales
@@ -58,30 +56,9 @@ const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
const htmlElement = document.documentElement
- // Manage theme classes
if (colorName === 'halloween') {
+ // Apply Halloween theme
htmlElement.classList.add('theme-halloween')
- } else {
- htmlElement.classList.remove('theme-halloween')
- }
-
- if (amoledEnabled) {
- htmlElement.classList.add('theme-amoled')
- } else {
- htmlElement.classList.remove('theme-amoled')
- }
-
- // Determine dark background color based on AMOLED mode
- const darkBg = amoledEnabled ? '#000000' : 'rgb(26, 26, 26)'
- const darkBgAlt = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
- const darkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(23, 23, 23, 0.8)'
- const darkBgSoft = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
-
- // Apply Halloween theme backgrounds or normal backgrounds
- if (colorName === 'halloween') {
- const halloweenDarkBg = amoledEnabled ? '#000000' : 'rgb(15, 15, 15)'
- const halloweenDarkBgAlt = amoledEnabled ? '#000000' : 'rgb(12, 12, 12)'
- const halloweenDarkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(12, 12, 12, 0.8)'
css.value = `
:root {
@@ -98,21 +75,12 @@ const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: ${halloweenDarkBg} !important;
- --vp-c-bg-alt: ${halloweenDarkBgAlt} !important;
- --vp-c-bg-elv: ${halloweenDarkBgElv} !important;
- --vp-c-bg-soft: ${halloweenDarkBgAlt} !important;
- }
-
- .dark html, .dark body {
- background-color: ${halloweenDarkBg} !important;
- }
-
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: ${halloweenDarkBg} !important;
}
`
} else {
+ // Remove Halloween theme and apply other theme with normal backgrounds
+ htmlElement.classList.remove('theme-halloween')
+
css.value = `
:root {
${cssVars}
@@ -132,10 +100,10 @@ const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: ${darkBg} !important;
- --vp-c-bg-alt: ${darkBgAlt} !important;
- --vp-c-bg-elv: ${darkBgElv} !important;
- --vp-c-bg-soft: ${darkBgSoft} !important;
+ --vp-c-bg: rgb(26, 26, 26) !important;
+ --vp-c-bg-alt: rgb(23, 23, 23) !important;
+ --vp-c-bg-elv: rgba(23, 23, 23, 0.8) !important;
+ --vp-c-bg-soft: rgb(23, 23, 23) !important;
}
html, body {
@@ -146,45 +114,52 @@ const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
background-color: #ffffff !important;
}
+ .VPHome {
+ background-color: #ffffff !important;
+ }
+
+ .VPHome .VPHero {
+ background-color: #ffffff !important;
+ }
+
.dark html, .dark body {
- background-color: ${darkBg} !important;
+ background-color: rgb(26, 26, 26) !important;
}
.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: ${darkBg} !important;
+ background-color: rgb(26, 26, 26) !important;
+ }
+
+ .dark .VPHome {
+ background-color: rgb(26, 26, 26) !important;
+ }
+
+ .dark .VPHome .VPHero {
+ background-color: rgb(26, 26, 26) !important;
}
`
}
}
+// Set Halloween theme ASAP if its the pref
+const storedTheme = localStorage.getItem('preferred-color')
+if (!storedTheme || storedTheme === '"halloween"') {
+ document.documentElement.classList.add('theme-halloween')
+}
+
+// Initialize theme color
+updateThemeColor(selectedColor.value)
+
+// halloween stuff
onMounted(() => {
- // Set Halloween theme ASAP if its the pref (only in browser)
- if (typeof window !== 'undefined') {
- const storedTheme = localStorage.getItem('preferred-color')
- const storedAmoled = localStorage.getItem('amoled-mode')
-
- if (!storedTheme || storedTheme === '"halloween"') {
- document.documentElement.classList.add('theme-halloween')
- }
- if (storedAmoled === 'true') {
- document.documentElement.classList.add('theme-amoled')
- }
- }
-
if (selectedColor.value === 'halloween') {
document.documentElement.classList.add('theme-halloween')
}
- if (isAmoledMode.value) {
- document.documentElement.classList.add('theme-amoled')
- }
-
// Re-apply the theme to ensure everything is initialized
- updateThemeColor(selectedColor.value, isAmoledMode.value)
+ updateThemeColor(selectedColor.value)
})
-watch([selectedColor, isAmoledMode], ([color, amoled]) => {
- updateThemeColor(color, amoled)
-})
+watch(selectedColor, updateThemeColor)
const normalizeColorName = (colorName: string) =>
colorName.replaceAll(/-/g, ' ').charAt(0).toUpperCase() +
@@ -196,7 +171,7 @@ const normalizeColorName = (colorName: string) =>
From 03ebe6b337943662aea7b2c4122eca687d31981c Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 12:51:51 +0530
Subject: [PATCH 14/26] Update ColorPicker.vue
---
.../theme/components/ColorPicker.vue | 177 ++++++++----------
1 file changed, 80 insertions(+), 97 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 4760e2bdb..b59ae9d01 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -2,6 +2,7 @@
import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
+import Switch from './Switch.vue'
// Add Halloween colors
const halloweenColors = {
@@ -40,6 +41,7 @@ const colorScales = [
type ColorNames = keyof typeof extendedColors
const selectedColor = useStorage
('preferred-color', 'halloween')
+const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(extendedColors).filter(
(key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
@@ -47,7 +49,7 @@ const colorOptions = Object.keys(extendedColors).filter(
const { css } = useStyleTag('', { id: 'brand-color' })
-const updateThemeColor = (colorName: ColorNames) => {
+const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
const colorSet = extendedColors[colorName]
const cssVars = colorScales
@@ -56,9 +58,30 @@ const updateThemeColor = (colorName: ColorNames) => {
const htmlElement = document.documentElement
+ // Manage theme classes
if (colorName === 'halloween') {
- // Apply Halloween theme
htmlElement.classList.add('theme-halloween')
+ } else {
+ htmlElement.classList.remove('theme-halloween')
+ }
+
+ if (amoledEnabled) {
+ htmlElement.classList.add('theme-amoled')
+ } else {
+ htmlElement.classList.remove('theme-amoled')
+ }
+
+ // Determine dark background color based on AMOLED mode
+ const darkBg = amoledEnabled ? '#000000' : 'rgb(26, 26, 26)'
+ const darkBgAlt = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+ const darkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(23, 23, 23, 0.8)'
+ const darkBgSoft = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
+
+ // Apply Halloween theme backgrounds or normal backgrounds
+ if (colorName === 'halloween') {
+ const halloweenDarkBg = amoledEnabled ? '#000000' : 'rgb(15, 15, 15)'
+ const halloweenDarkBgAlt = amoledEnabled ? '#000000' : 'rgb(12, 12, 12)'
+ const halloweenDarkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(12, 12, 12, 0.8)'
css.value = `
:root {
@@ -75,12 +98,21 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
+ --vp-c-bg: ${halloweenDarkBg} !important;
+ --vp-c-bg-alt: ${halloweenDarkBgAlt} !important;
+ --vp-c-bg-elv: ${halloweenDarkBgElv} !important;
+ --vp-c-bg-soft: ${halloweenDarkBgAlt} !important;
+ }
+
+ .dark html, .dark body {
+ background-color: ${halloweenDarkBg} !important;
+ }
+
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
+ background-color: ${halloweenDarkBg} !important;
}
`
} else {
- // Remove Halloween theme and apply other theme with pure black backgrounds (but exclude buttons)
- htmlElement.classList.remove('theme-halloween')
-
css.value = `
:root {
${cssVars}
@@ -88,10 +120,10 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[600]};
--vp-c-brand-3: ${colorSet[800]};
--vp-c-brand-soft: ${colorSet[400]};
- --vp-c-bg: #000000 !important;
- --vp-c-bg-alt: #000000 !important;
- --vp-c-bg-elv: #000000 !important;
- --vp-c-bg-soft: #000000 !important;
+ --vp-c-bg: #ffffff !important;
+ --vp-c-bg-alt: #f9f9f9 !important;
+ --vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
+ --vp-c-bg-soft: #f9f9f9 !important;
}
.dark {
@@ -100,114 +132,59 @@ const updateThemeColor = (colorName: ColorNames) => {
--vp-c-brand-2: ${colorSet[500]};
--vp-c-brand-3: ${colorSet[700]};
--vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: #000000 !important;
- --vp-c-bg-alt: #000000 !important;
- --vp-c-bg-elv: #000000 !important;
- --vp-c-bg-soft: #000000 !important;
+ --vp-c-bg: ${darkBg} !important;
+ --vp-c-bg-alt: ${darkBgAlt} !important;
+ --vp-c-bg-elv: ${darkBgElv} !important;
+ --vp-c-bg-soft: ${darkBgSoft} !important;
}
- /* Main page backgrounds - pure black */
html, body {
- background-color: #000000 !important;
+ background-color: #ffffff !important;
}
- /* VitePress layout containers - pure black */
- .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app {
- background-color: #000000 !important;
+ .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
+ background-color: #ffffff !important;
}
- /* Content areas - pure black */
- .vp-doc, .VPDoc, .content {
- background-color: #000000 !important;
- }
-
- /* Navigation and sidebar backgrounds - pure black */
- .VPNav, .VPSidebar, .VPLocalNav {
- background-color: #000000 !important;
- }
-
- /* Footer - pure black */
- .VPFooter {
- background-color: #000000 !important;
- }
-
- /* EXCLUDE buttons and interactive elements from black background */
- button,
- .VPButton,
- .vp-button,
- input[type="button"],
- input[type="submit"],
- .copy-button,
- .nav-link,
- .sidebar-link,
- .pager-link,
- .edit-link,
- .outline-link,
- .search-button,
- [role="button"] {
- background-color: initial !important;
- }
-
- /* Dark mode - same rules */
.dark html, .dark body {
- background-color: #000000 !important;
+ background-color: ${darkBg} !important;
}
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
- background-color: #000000 !important;
- }
-
- .dark .vp-doc, .dark .VPDoc, .dark .content {
- background-color: #000000 !important;
- }
-
- .dark .VPNav, .dark .VPSidebar, .dark .VPLocalNav {
- background-color: #000000 !important;
- }
-
- .dark .VPFooter {
- background-color: #000000 !important;
- }
-
- /* EXCLUDE buttons in dark mode too */
- .dark button,
- .dark .VPButton,
- .dark .vp-button,
- .dark input[type="button"],
- .dark input[type="submit"],
- .dark .copy-button,
- .dark .nav-link,
- .dark .sidebar-link,
- .dark .pager-link,
- .dark .edit-link,
- .dark .outline-link,
- .dark .search-button,
- .dark [role="button"] {
- background-color: initial !important;
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
+ background-color: ${darkBg} !important;
}
`
}
}
-// Set Halloween theme ASAP if its the pref
-const storedTheme = localStorage.getItem('preferred-color')
-if (!storedTheme || storedTheme === '"halloween"') {
- document.documentElement.classList.add('theme-halloween')
-}
-
-// Initialize theme color
-updateThemeColor(selectedColor.value)
-
-// halloween stuff
onMounted(() => {
+ // Set Halloween theme ASAP if its the pref (only in browser)
+ if (typeof window !== 'undefined') {
+ const storedTheme = localStorage.getItem('preferred-color')
+ const storedAmoled = localStorage.getItem('amoled-mode')
+
+ if (!storedTheme || storedTheme === '"halloween"') {
+ document.documentElement.classList.add('theme-halloween')
+ }
+ if (storedAmoled === 'true') {
+ document.documentElement.classList.add('theme-amoled')
+ }
+ }
+
if (selectedColor.value === 'halloween') {
document.documentElement.classList.add('theme-halloween')
}
+ if (isAmoledMode.value) {
+ document.documentElement.classList.add('theme-amoled')
+ }
+
// Re-apply the theme to ensure everything is initialized
- updateThemeColor(selectedColor.value)
+ updateThemeColor(selectedColor.value, isAmoledMode.value)
})
-watch(selectedColor, updateThemeColor)
+watch([selectedColor, isAmoledMode], ([color, amoled]) => {
+ updateThemeColor(color, amoled)
+})
const normalizeColorName = (colorName: string) =>
colorName.replaceAll(/-/g, ' ').charAt(0).toUpperCase() +
@@ -219,7 +196,7 @@ const normalizeColorName = (colorName: string) =>
-
\ No newline at end of file
+
From 365a49425b7ed82789cffc7f6f1d0d7f327bdf76 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 12:53:27 +0530
Subject: [PATCH 15/26] Change default amoled mode to true
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index b59ae9d01..e0015d905 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -41,7 +41,7 @@ const colorScales = [
type ColorNames = keyof typeof extendedColors
const selectedColor = useStorage
('preferred-color', 'halloween')
-const isAmoledMode = useStorage('amoled-mode', false)
+const isAmoledMode = useStorage('amoled-mode', true)
const colorOptions = Object.keys(extendedColors).filter(
(key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
From 94a8111b07c7f4d155c340b4ce5834e3c7eb8578 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 15:34:20 +0530
Subject: [PATCH 16/26] Update ColorPicker.vue
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index e0015d905..d90b3efef 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -224,7 +224,7 @@ const normalizeColorName = (colorName: string) =>
AMOLED
-
+
From b5a914db9f63ae3da9476ab923c5b486a8a5c603 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 14:51:53 +0000
Subject: [PATCH 17/26] fixing conflicts
---
.../theme/components/ColorPicker.vue | 187 +++++-------------
docs/.vitepress/theme/style.scss | 169 +---------------
2 files changed, 54 insertions(+), 302 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index d90b3efef..50b78d12d 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -4,27 +4,6 @@ import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
import Switch from './Switch.vue'
-// Add Halloween colors
-const halloweenColors = {
- 50: '#fff7ed',
- 100: '#ffedd5',
- 200: '#fed7aa',
- 300: '#fdba74',
- 400: '#fb923c',
- 500: '#FF6A00',
- 600: '#ea580c',
- 700: '#c2410c',
- 800: '#9a3412',
- 900: '#7c2d12',
- 950: '#431407'
-}
-
-// hall extend or something
-const extendedColors = {
- ...colors,
- halloween: halloweenColors
-}
-
const colorScales = [
'50',
'100',
@@ -39,18 +18,18 @@ const colorScales = [
'950'
] as const
-type ColorNames = keyof typeof extendedColors
-const selectedColor = useStorage('preferred-color', 'halloween')
+type ColorNames = keyof typeof colors
+const selectedColor = useStorage('preferred-color', 'swarm')
const isAmoledMode = useStorage('amoled-mode', true)
-const colorOptions = Object.keys(extendedColors).filter(
- (key) => typeof extendedColors[key as keyof typeof extendedColors] === 'object'
+const colorOptions = Object.keys(colors).filter(
+ (key) => typeof colors[key as keyof typeof colors] === 'object'
) as Array
const { css } = useStyleTag('', { id: 'brand-color' })
const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
- const colorSet = extendedColors[colorName]
+ const colorSet = colors[colorName]
const cssVars = colorScales
.map((scale) => `--vp-c-brand-${scale}: ${colorSet[scale]};`)
@@ -58,122 +37,61 @@ const updateThemeColor = (colorName: ColorNames, amoledEnabled: boolean) => {
const htmlElement = document.documentElement
- // Manage theme classes
- if (colorName === 'halloween') {
- htmlElement.classList.add('theme-halloween')
- } else {
- htmlElement.classList.remove('theme-halloween')
- }
-
if (amoledEnabled) {
htmlElement.classList.add('theme-amoled')
} else {
htmlElement.classList.remove('theme-amoled')
}
- // Determine dark background color based on AMOLED mode
const darkBg = amoledEnabled ? '#000000' : 'rgb(26, 26, 26)'
const darkBgAlt = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
const darkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(23, 23, 23, 0.8)'
const darkBgSoft = amoledEnabled ? '#000000' : 'rgb(23, 23, 23)'
- // Apply Halloween theme backgrounds or normal backgrounds
- if (colorName === 'halloween') {
- const halloweenDarkBg = amoledEnabled ? '#000000' : 'rgb(15, 15, 15)'
- const halloweenDarkBgAlt = amoledEnabled ? '#000000' : 'rgb(12, 12, 12)'
- const halloweenDarkBgElv = amoledEnabled ? 'rgba(0, 0, 0, 0.9)' : 'rgba(12, 12, 12, 0.8)'
+ css.value = `
+ :root {
+ ${cssVars}
+ --vp-c-brand-1: ${colorSet[500]};
+ --vp-c-brand-2: ${colorSet[600]};
+ --vp-c-brand-3: ${colorSet[800]};
+ --vp-c-brand-soft: ${colorSet[400]};
+ --vp-c-bg: #ffffff !important;
+ --vp-c-bg-alt: #f9f9f9 !important;
+ --vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
+ --vp-c-bg-soft: #f9f9f9 !important;
+ }
+
+ .dark {
+ ${cssVars}
+ --vp-c-brand-1: ${colorSet[400]};
+ --vp-c-brand-2: ${colorSet[500]};
+ --vp-c-brand-3: ${colorSet[700]};
+ --vp-c-brand-soft: ${colorSet[300]};
+ --vp-c-bg: ${darkBg} !important;
+ --vp-c-bg-alt: ${darkBgAlt} !important;
+ --vp-c-bg-elv: ${darkBgElv} !important;
+ --vp-c-bg-soft: ${darkBgSoft} !important;
+ }
- css.value = `
- :root {
- ${cssVars}
- --vp-c-brand-1: ${colorSet[500]};
- --vp-c-brand-2: ${colorSet[600]};
- --vp-c-brand-3: ${colorSet[800]};
- --vp-c-brand-soft: ${colorSet[400]};
- }
-
- .dark {
- ${cssVars}
- --vp-c-brand-1: ${colorSet[400]};
- --vp-c-brand-2: ${colorSet[500]};
- --vp-c-brand-3: ${colorSet[700]};
- --vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: ${halloweenDarkBg} !important;
- --vp-c-bg-alt: ${halloweenDarkBgAlt} !important;
- --vp-c-bg-elv: ${halloweenDarkBgElv} !important;
- --vp-c-bg-soft: ${halloweenDarkBgAlt} !important;
- }
-
- .dark html, .dark body {
- background-color: ${halloweenDarkBg} !important;
- }
-
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: ${halloweenDarkBg} !important;
- }
- `
- } else {
- css.value = `
- :root {
- ${cssVars}
- --vp-c-brand-1: ${colorSet[500]};
- --vp-c-brand-2: ${colorSet[600]};
- --vp-c-brand-3: ${colorSet[800]};
- --vp-c-brand-soft: ${colorSet[400]};
- --vp-c-bg: #ffffff !important;
- --vp-c-bg-alt: #f9f9f9 !important;
- --vp-c-bg-elv: rgba(255, 255, 255, 0.7) !important;
- --vp-c-bg-soft: #f9f9f9 !important;
- }
-
- .dark {
- ${cssVars}
- --vp-c-brand-1: ${colorSet[400]};
- --vp-c-brand-2: ${colorSet[500]};
- --vp-c-brand-3: ${colorSet[700]};
- --vp-c-brand-soft: ${colorSet[300]};
- --vp-c-bg: ${darkBg} !important;
- --vp-c-bg-alt: ${darkBgAlt} !important;
- --vp-c-bg-elv: ${darkBgElv} !important;
- --vp-c-bg-soft: ${darkBgSoft} !important;
- }
-
- html, body {
- background-color: #ffffff !important;
- }
-
- .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
- background-color: #ffffff !important;
- }
-
- .dark html, .dark body {
- background-color: ${darkBg} !important;
- }
-
- .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .dark .vp-doc {
- background-color: ${darkBg} !important;
- }
- `
- }
+ html, body {
+ background-color: #ffffff !important;
+ }
+
+ .VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app, .vp-doc {
+ background-color: #ffffff !important;
+ }
+
+ .dark html, .dark body {
+ background-color: ${darkBg} !important;
+ }
+
+ .dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app, .vp-doc {
+ background-color: ${darkBg} !important;
+ }
+ `
}
onMounted(() => {
- // Set Halloween theme ASAP if its the pref (only in browser)
- if (typeof window !== 'undefined') {
- const storedTheme = localStorage.getItem('preferred-color')
- const storedAmoled = localStorage.getItem('amoled-mode')
-
- if (!storedTheme || storedTheme === '"halloween"') {
- document.documentElement.classList.add('theme-halloween')
- }
- if (storedAmoled === 'true') {
- document.documentElement.classList.add('theme-amoled')
- }
- }
-
- if (selectedColor.value === 'halloween') {
- document.documentElement.classList.add('theme-halloween')
- }
if (isAmoledMode.value) {
document.documentElement.classList.add('theme-amoled')
}
@@ -203,16 +121,9 @@ const normalizeColorName = (colorName: string) =>
:title="normalizeColorName(color)"
>
- 🎃
-
-
+ :style="{ backgroundColor: colors[color][500] }"
+ >
@@ -224,7 +135,7 @@ const normalizeColorName = (colorName: string) =>
AMOLED
-
+
-
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/style.scss b/docs/.vitepress/theme/style.scss
index 4c69e7367..6c1b54432 100644
--- a/docs/.vitepress/theme/style.scss
+++ b/docs/.vitepress/theme/style.scss
@@ -23,19 +23,6 @@
--vp-c-bg-elv: rgba(255, 255, 255, 0.7);
--vp-c-bg-mark: rgb(232, 232, 232);
- /* Colors: Halloween Theme */
- --halloween-50: #fff7ed;
- --halloween-100: #ffedd5;
- --halloween-200: #fed7aa;
- --halloween-300: #fdba74;
- --halloween-400: #fb923c;
- --halloween-500: #FF6A00;
- --halloween-600: #ea580c;
- --halloween-700: #c2410c;
- --halloween-800: #9a3412;
- --halloween-900: #7c2d12;
- --halloween-950: #431407;
-
/* Colors: Custom Block */
/** Info */
--vp-custom-block-info-bg: theme('colors.swarm.100');
@@ -57,63 +44,6 @@
--vp-custom-block-danger-border: theme('colors.carnation.800');
--vp-custom-block-danger-text: theme('colors.carnation.800');
--vp-custom-block-danger-text-deep: theme('colors.carnation.900');
- /** Halloween */
- --vp-custom-block-halloween-bg: var(--halloween-100);
- --vp-custom-block-halloween-border: var(--halloween-800);
- --vp-custom-block-halloween-text: var(--halloween-800);
- --vp-custom-block-halloween-text-deep: var(--halloween-900);
-}
-
-/* Apply Halloween theme by default (for light mode)*/
-:root {
- --vp-c-bg: #fef3e8 !important;
- --vp-c-bg-alt: #fef0e7 !important;
- --vp-c-bg-elv: rgba(254, 240, 231, 0.8) !important;
- --vp-c-bg-soft: #fef0e7 !important;
- --vp-button-alt-bg: #a855f7 !important;
- --vp-button-alt-text: #fff !important;
- --vp-button-alt-hover-bg: #9333ea !important;
- --vp-button-alt-hover-text: #fff !important;
- --vp-button-brand-bg: #FF6A00 !important;
- --vp-button-brand-border: #FF6A00 !important;
- --vp-button-brand-text: #fff !important;
- --vp-button-brand-hover-bg: #ea580c !important;
- --vp-button-brand-hover-border: #ea580c !important;
- --vp-button-brand-hover-text: #fff !important;
-}
-
-body {
- background-color: #fef3e8 !important;
-}
-
-.VPApp, .Layout, .VPContent, .VPHome, .VPHero, #app {
- background-color: #fef3e8 !important;
-}
-
-/* Apply Halloween theme by default - (for dark mode) */
-.dark {
- --vp-c-bg: rgb(15, 15, 15) !important;
- --vp-c-bg-alt: rgb(12, 12, 12) !important;
- --vp-c-bg-elv: rgba(12, 12, 12, 0.8) !important;
- --vp-c-bg-soft: rgb(12, 12, 12) !important;
- --vp-button-alt-bg: #8b5cf6 !important;
- --vp-button-alt-text: #e9d5ff !important;
- --vp-button-alt-hover-bg: #a855f7 !important;
- --vp-button-alt-hover-text: #fff !important;
- --vp-button-brand-bg: #FF6A00 !important;
- --vp-button-brand-border: #FF6A00 !important;
- --vp-button-brand-text: #fff !important;
- --vp-button-brand-hover-bg: #ea580c !important;
- --vp-button-brand-hover-border: #ea580c !important;
- --vp-button-brand-hover-text: #fff !important;
-}
-
-.dark body {
- background-color: rgb(15, 15, 15) !important;
-}
-
-.dark .VPApp, .dark .Layout, .dark .VPContent, .dark .VPHome, .dark .VPHero, .dark #app {
- background-color: rgb(15, 15, 15) !important;
}
.dark {
@@ -149,78 +79,6 @@ body {
--vp-custom-block-danger-border: theme('colors.carnation.800');
--vp-custom-block-danger-text: theme('colors.carnation.200');
--vp-custom-block-danger-text-deep: theme('colors.carnation.200');
- /** Halloween */
- --vp-custom-block-halloween-bg: var(--halloween-950);
- --vp-custom-block-halloween-border: var(--halloween-800);
- --vp-custom-block-halloween-text: var(--halloween-200);
- --vp-custom-block-halloween-text-deep: var(--halloween-200);
-}
-
-/* Halloween theme overrides */
-/* Halloween theme overrides - (for light mode) */
-html[data-halloween-theme]:not(.dark) {
- --vp-c-bg: #fef3e8 !important;
- --vp-c-bg-alt: #fef0e7 !important;
- --vp-c-bg-elv: rgba(254, 240, 231, 0.8) !important;
- --vp-c-bg-soft: #fef0e7 !important;
- --vp-button-alt-bg: #a855f7 !important;
- --vp-button-alt-text: #fff !important;
- --vp-button-alt-hover-bg: #9333ea !important;
- --vp-button-alt-hover-text: #fff !important;
- --vp-button-brand-bg: #FF6A00 !important;
- --vp-button-brand-border: #FF6A00 !important;
- --vp-button-brand-text: #fff !important;
- --vp-button-brand-hover-bg: #ea580c !important;
- --vp-button-brand-hover-border: #ea580c !important;
- --vp-button-brand-hover-text: #fff !important;
-
- background-color: #fef3e8 !important;
-}
-
-html[data-halloween-theme]:not(.dark) body {
- background-color: #fef3e8 !important;
-}
-
-html[data-halloween-theme]:not(.dark) .VPApp,
-html[data-halloween-theme]:not(.dark) .Layout,
-html[data-halloween-theme]:not(.dark) .VPContent,
-html[data-halloween-theme]:not(.dark) .VPHome,
-html[data-halloween-theme]:not(.dark) .VPHero,
-html[data-halloween-theme]:not(.dark) #app {
- background-color: #fef3e8 !important;
-}
-
-/* Halloween theme overrides - (for dark mode) */
-html[data-halloween-theme].dark {
- --vp-c-bg: rgb(15, 15, 15) !important;
- --vp-c-bg-alt: rgb(12, 12, 12) !important;
- --vp-c-bg-elv: rgba(12, 12, 12, 0.8) !important;
- --vp-c-bg-soft: rgb(12, 12, 12) !important;
- --vp-button-alt-bg: #8b5cf6 !important;
- --vp-button-alt-text: #e9d5ff !important;
- --vp-button-alt-hover-bg: #a855f7 !important;
- --vp-button-alt-hover-text: #fff !important;
- --vp-button-brand-bg: #FF6A00 !important;
- --vp-button-brand-border: #FF6A00 !important;
- --vp-button-brand-text: #fff !important;
- --vp-button-brand-hover-bg: #ea580c !important;
- --vp-button-brand-hover-border: #ea580c !important;
- --vp-button-brand-hover-text: #fff !important;
-
- background-color: rgb(15, 15, 15) !important;
-}
-
-html[data-halloween-theme].dark body {
- background-color: rgb(15, 15, 15) !important;
-}
-
-html[data-halloween-theme].dark .VPApp,
-html[data-halloween-theme].dark .Layout,
-html[data-halloween-theme].dark .VPContent,
-html[data-halloween-theme].dark .VPHome,
-html[data-halloween-theme].dark .VPHero,
-html[data-halloween-theme].dark #app {
- background-color: rgb(15, 15, 15) !important;
}
.vp-doc a {
@@ -282,14 +140,14 @@ html[data-halloween-theme].dark #app {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
- #ff8c3a 30%,
- #FF6A00
+ #c4b5fd 30%,
+ #7bc5e4
);
--vp-home-hero-image-background-image: linear-gradient(
-45deg,
- #ff8c3a 50%,
- #ea580c 50%
+ #c4b5fd 50%,
+ #47caff 50%
);
--vp-home-hero-image-filter: blur(44px);
}
@@ -464,19 +322,6 @@ html[data-halloween-theme].dark #app {
color: var(--vp-custom-block-danger-text-deep);
}
-.halloween.custom-block a {
- color: var(--vp-custom-block-halloween-text);
- font-weight: 500;
- text-decoration: underline;
- text-underline-offset: 2px;
- transition: opacity 0.25s;
-}
-
-.halloween.custom-block a:hover {
- opacity: 0.7;
- color: var(--vp-custom-block-halloween-text-deep);
-}
-
.info.custom-block {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWluZm8iPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIi8+PHBhdGggZD0iTTEyIDE2di00Ii8+PHBhdGggZD0iTTEyIDhoLjAxIi8+PC9zdmc+');
}
@@ -497,10 +342,6 @@ html[data-halloween-theme].dark #app {
--icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLXNrdWxsIj48Y2lyY2xlIGN4PSI5IiBjeT0iMTIiIHI9IjEiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjEyIiByPSIxIi8+PHBhdGggZD0iTTggMjB2Mmg4di0yIi8+PHBhdGggZD0ibTEyLjUgMTctLjUtMS0uNSAxaDF6Ii8+PHBhdGggZD0iTTE2IDIwYTIgMiAwIDAgMCAxLjU2LTMuMjUgOCA4IDAgMSAwLTExLjEyIDBBMiAyIDAgMCAwIDggMjAiLz48L3N2Zz4=');
}
-.halloween.custom-block {
- --icon: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyYzMgMCA1IDIgNSA1djZjMCA0LTMgNy04IDdoLTJjLTUtMS04LTMtOC03VjdjMC0zIDItNSA1LTVoOHoiLz48Y2lyY2xlIGN4PSI5IiBjeT0iOSIgcj0iMSIvPjxjaXJjbGUgY3g9IjE1IiBjeT0iOSIgcj0iMSIvPjxwYXRoIGQ9Im0xMCAxNCAyIDJoMGwyLTIiLz48L3N2Zz4=');
-}
-
.custom-block-title {
display: inline-flex;
align-items: center;
@@ -517,4 +358,4 @@ html[data-halloween-theme].dark #app {
mask-size: 100% 100%;
background-color: currentColor;
color: inherit;
-}
+}
\ No newline at end of file
From 237e071b9860f316866c2aa5397d435a851a45af Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 14:54:09 +0000
Subject: [PATCH 18/26] fixing conflicts
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 50b78d12d..856bd1b01 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -20,7 +20,7 @@ const colorScales = [
type ColorNames = keyof typeof colors
const selectedColor = useStorage('preferred-color', 'swarm')
-const isAmoledMode = useStorage('amoled-mode', true)
+const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(colors).filter(
(key) => typeof colors[key as keyof typeof colors] === 'object'
From b459cb974e4cdb5ce5ede0feadc995b12951faab Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 15:03:58 +0000
Subject: [PATCH 19/26] made amoled default
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 856bd1b01..50b78d12d 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -20,7 +20,7 @@ const colorScales = [
type ColorNames = keyof typeof colors
const selectedColor = useStorage('preferred-color', 'swarm')
-const isAmoledMode = useStorage('amoled-mode', false)
+const isAmoledMode = useStorage('amoled-mode', true)
const colorOptions = Object.keys(colors).filter(
(key) => typeof colors[key as keyof typeof colors] === 'object'
From 8f4ae70d3a8cfc763978d41f847db216bd0306a9 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sat, 1 Nov 2025 15:05:12 +0000
Subject: [PATCH 20/26] fix the toggle issue check fmhy commit for more info
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 50b78d12d..177cbff3a 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -135,7 +135,7 @@ const normalizeColorName = (colorName: string) =>
AMOLED
-
+
\ No newline at end of file
From 0e0e6e2dd1e5ad1ca09854bf506cb4a88b574ac0 Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sun, 2 Nov 2025 11:25:00 +0530
Subject: [PATCH 21/26] Update ColorPicker.vue
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 0afb0f738..c213c0f65 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -20,7 +20,7 @@ const colorScales = [
type ColorNames = keyof typeof colors
const selectedColor = useStorage('preferred-color', 'swarm')
-const isAmoledMode = useStorage('amoled-mode', true)
+const isAmoledMode = useStorage('amoled-mode', false)
const colorOptions = Object.keys(colors).filter(
(key) => typeof colors[key as keyof typeof colors] === 'object'
From 3725bb5694ff6c6f7da2f61d3afaeaea63d69f0a Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sun, 2 Nov 2025 11:26:36 +0530
Subject: [PATCH 22/26] Update Switch.vue
---
docs/.vitepress/theme/components/Switch.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/Switch.vue b/docs/.vitepress/theme/components/Switch.vue
index f72ba9620..25956337e 100644
--- a/docs/.vitepress/theme/components/Switch.vue
+++ b/docs/.vitepress/theme/components/Switch.vue
@@ -2,7 +2,7 @@
import { Switch } from '@headlessui/vue'
import { ref } from 'vue'
-const enabled = ref(false)
+const enabled = defineModel({ default: false })
From d34387066189befa1d2beb8b8d42b9886fbbc69c Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sun, 2 Nov 2025 11:27:42 +0530
Subject: [PATCH 23/26] Update ColorPicker.vue
---
docs/.vitepress/theme/components/ColorPicker.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index c213c0f65..f14dbd760 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -135,7 +135,7 @@ const normalizeColorName = (colorName: string) =>
AMOLED
-
+
From 7f09a9d148f6a78ff624903b202e74a612c2fe2b Mon Sep 17 00:00:00 2001
From: Land <84073086+LandWarderer2772@users.noreply.github.com>
Date: Sun, 2 Nov 2025 13:18:11 +0530
Subject: [PATCH 24/26] Refactor Switch component to use model binding
---
docs/.vitepress/theme/components/Switch.vue | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/.vitepress/theme/components/Switch.vue b/docs/.vitepress/theme/components/Switch.vue
index 25956337e..6dd41c551 100644
--- a/docs/.vitepress/theme/components/Switch.vue
+++ b/docs/.vitepress/theme/components/Switch.vue
@@ -2,11 +2,11 @@
import { Switch } from '@headlessui/vue'
import { ref } from 'vue'
-const enabled = defineModel({ default: false })
+const model = defineModel()
-
+
From ba9fe8fa3f270184ccaaad8215c00c68b67722d0 Mon Sep 17 00:00:00 2001
From: land
Date: Mon, 3 Nov 2025 14:38:38 +0530
Subject: [PATCH 25/26] Add AMOLED switch component and update usage
---
.../theme/components/ColorPicker.vue | 4 +-
docs/.vitepress/theme/components/Switch.vue | 4 +-
.../theme/components/amoledswitch.vue | 52 +++++++++++++++++++
3 files changed, 56 insertions(+), 4 deletions(-)
create mode 100644 docs/.vitepress/theme/components/amoledswitch.vue
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index f14dbd760..8c58d0651 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -2,7 +2,7 @@
import { colors } from '@fmhy/colors'
import { useStorage, useStyleTag } from '@vueuse/core'
import { watch, onMounted } from 'vue'
-import Switch from './Switch.vue'
+import amoledswitch from './amoledswitch.vue'
const colorScales = [
'50',
@@ -135,7 +135,7 @@ const normalizeColorName = (colorName: string) =>
diff --git a/docs/.vitepress/theme/components/Switch.vue b/docs/.vitepress/theme/components/Switch.vue
index 6dd41c551..25956337e 100644
--- a/docs/.vitepress/theme/components/Switch.vue
+++ b/docs/.vitepress/theme/components/Switch.vue
@@ -2,11 +2,11 @@
import { Switch } from '@headlessui/vue'
import { ref } from 'vue'
-const model = defineModel()
+const enabled = defineModel({ default: false })
-
+
diff --git a/docs/.vitepress/theme/components/amoledswitch.vue b/docs/.vitepress/theme/components/amoledswitch.vue
new file mode 100644
index 000000000..25956337e
--- /dev/null
+++ b/docs/.vitepress/theme/components/amoledswitch.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
From b6077998360d9461f7a95378ba6689807c31b3e7 Mon Sep 17 00:00:00 2001
From: land
Date: Mon, 3 Nov 2025 14:45:59 +0530
Subject: [PATCH 26/26] Update ColorPicker.vue
---
.../theme/components/ColorPicker.vue | 20 ++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue
index 8c58d0651..4edab11fc 100644
--- a/docs/.vitepress/theme/components/ColorPicker.vue
+++ b/docs/.vitepress/theme/components/ColorPicker.vue
@@ -1,7 +1,7 @@