From 9965428bae82cc85de11e1a820258fe0aecf017e Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 13 May 2026 22:34:12 +0800 Subject: [PATCH] feat: add configurable opacity and blur settings for the transparent theme background --- src/App.vue | 32 +++++++++++++- src/layouts/components/UserProfile.vue | 59 ++++++++++++++++++++++++++ src/locales/en-US.ts | 2 + src/locales/zh-CN.ts | 2 + src/locales/zh-TW.ts | 2 + 5 files changed, 95 insertions(+), 2 deletions(-) diff --git a/src/App.vue b/src/App.vue index f0d28c08..6281c94e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -49,6 +49,26 @@ const backgroundImages = ref([]) const activeImageIndex = ref(0) const isTransparentTheme = computed(() => globalTheme.name.value === 'transparent') +function getStoredNumber(key: string, fallback: number, min: number, max: number) { + const parsed = Number.parseFloat(localStorage.getItem(key) || '') + if (!Number.isFinite(parsed)) return fallback + + return Math.min(max, Math.max(min, parsed)) +} + +function applyTransparentBackgroundSettings() { + document.documentElement.style.setProperty( + '--transparent-background-poster-opacity', + getStoredNumber('transparency-background-poster-opacity', 1, 0, 1).toString(), + ) + document.documentElement.style.setProperty( + '--transparent-background-blur', + `${getStoredNumber('transparency-background-blur', 16, 0, 30)}px`, + ) +} + +applyTransparentBackgroundSettings() + // 心跳检测 let heartbeatInterval: number | null = null @@ -266,7 +286,11 @@ onUnmounted(() => {