diff --git a/frontend_nuxt/app.vue b/frontend_nuxt/app.vue
index e55367988..8148fe4c9 100644
--- a/frontend_nuxt/app.vue
+++ b/frontend_nuxt/app.vue
@@ -131,7 +131,7 @@ const goToNewPost = () => {
cursor: pointer;
z-index: 1000;
display: flex;
- backdrop-filter: blur(5px);
+ backdrop-filter: var(--blur-5);
justify-content: center;
align-items: center;
}
diff --git a/frontend_nuxt/assets/global.css b/frontend_nuxt/assets/global.css
index dcf0b3371..910125d06 100644
--- a/frontend_nuxt/assets/global.css
+++ b/frontend_nuxt/assets/global.css
@@ -7,6 +7,11 @@
--header-background-color: white;
--header-border-color: lightgray;
--header-text-color: black;
+ --blur-1: blur(1px);
+ --blur-2: blur(2px);
+ --blur-4: blur(4px);
+ --blur-5: blur(5px);
+ --blur-10: blur(10px);
/* 加一个app前缀防止与firefox的userChrome.css中的--menu-background-color冲突 */
--app-menu-background-color: white;
--background-color: white;
@@ -59,6 +64,14 @@
--activity-card-background-color: #585858;
}
+:root[data-frosted='off'] {
+ --blur-1: none;
+ --blur-2: none;
+ --blur-4: none;
+ --blur-5: none;
+ --blur-10: none;
+}
+
body {
margin: 0;
padding: 0;
diff --git a/frontend_nuxt/components/BasePopup.vue b/frontend_nuxt/components/BasePopup.vue
index a4ed47b68..16c42c2f1 100644
--- a/frontend_nuxt/components/BasePopup.vue
+++ b/frontend_nuxt/components/BasePopup.vue
@@ -41,8 +41,8 @@ export default {
left: 0;
right: 0;
bottom: 0;
- backdrop-filter: blur(2px);
- -webkit-backdrop-filter: blur(2px);
+ backdrop-filter: var(--blur-2);
+ -webkit-backdrop-filter: var(--blur-2);
}
.popup-content {
position: relative;
diff --git a/frontend_nuxt/components/HeaderComponent.vue b/frontend_nuxt/components/HeaderComponent.vue
index 32b18a1e1..bb4cf2fc9 100644
--- a/frontend_nuxt/components/HeaderComponent.vue
+++ b/frontend_nuxt/components/HeaderComponent.vue
@@ -188,7 +188,7 @@ onMounted(async () => {
justify-content: center;
height: var(--header-height);
background-color: var(--background-color-blur);
- backdrop-filter: blur(10px);
+ backdrop-filter: var(--blur-10);
color: var(--header-text-color);
border-bottom: 1px solid var(--header-border-color);
}
diff --git a/frontend_nuxt/components/LoginOverlay.vue b/frontend_nuxt/components/LoginOverlay.vue
index e2fd9fe0e..e1a7907b7 100644
--- a/frontend_nuxt/components/LoginOverlay.vue
+++ b/frontend_nuxt/components/LoginOverlay.vue
@@ -35,7 +35,7 @@ const goLogin = () => {
left: 0;
right: 0;
bottom: 0;
- backdrop-filter: blur(4px);
+ backdrop-filter: var(--blur-4);
z-index: 1;
}
diff --git a/frontend_nuxt/pages/settings.vue b/frontend_nuxt/pages/settings.vue
index 5b94f2ae0..7178ee347 100644
--- a/frontend_nuxt/pages/settings.vue
+++ b/frontend_nuxt/pages/settings.vue
@@ -36,6 +36,13 @@