feat: initialize frosted glass setting

This commit is contained in:
Tim
2025-08-16 17:57:42 +08:00
parent 79261054f9
commit bcbdff8768
9 changed files with 115 additions and 7 deletions

View File

@@ -0,0 +1,26 @@
import { reactive } from 'vue'
const FROSTED_KEY = 'frosted-glass'
export const frostedState = reactive({
enabled: true,
})
function apply() {
if (!import.meta.client) return
document.documentElement.dataset.frosted = frostedState.enabled ? 'on' : 'off'
}
export function initFrosted() {
if (!import.meta.client) return
const saved = localStorage.getItem(FROSTED_KEY)
frostedState.enabled = saved !== 'false'
apply()
}
export function setFrosted(enabled) {
if (!import.meta.client) return
frostedState.enabled = enabled
localStorage.setItem(FROSTED_KEY, enabled ? 'true' : 'false')
apply()
}

View File

@@ -143,7 +143,7 @@ function fallbackThemeTransition(applyFn) {
background-color: ${currentBg};
z-index: 9999;
pointer-events: none;
backdrop-filter: blur(1px);
backdrop-filter: var(--blur-1);
`
document.body.appendChild(transitionElement)