From f1a7285784ab4dd2196571629cdf1d764713f67f Mon Sep 17 00:00:00 2001
From: shiran <2488252513@qq.com>
Date: Thu, 26 Feb 2026 15:12:20 +0800
Subject: [PATCH] =?UTF-8?q?refactor(common):=20=E4=BC=98=E5=8C=96=E5=A4=B4?=
=?UTF-8?q?=E6=A0=87=E7=AD=BE=E4=B8=AD=E7=9A=84=E5=8A=A8=E6=80=81=E6=A0=B7?=
=?UTF-8?q?=E5=BC=8F=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将原有的静态样式注入改为动态JavaScript生成
- 添加了对玻璃态效果选择器的动态处理支持
- 添加了对卡片项目选择器的动态处理支持
- 实现了多选择器的自动分割和格式化功能
- 提升了样式的灵活性和可维护性
- 减少了HTML模板中的重复代码块
---
common/head_tag.hbs | 75 +++++++++++++++++++++++++++------------------
1 file changed, 46 insertions(+), 29 deletions(-)
diff --git a/common/head_tag.hbs b/common/head_tag.hbs
index c97af7d..a7f3998 100644
--- a/common/head_tag.hbs
+++ b/common/head_tag.hbs
@@ -4,34 +4,51 @@
window.I18n.translations[I18n.locale].js.browser_update =
'The Horizon theme does not support your browser. Please update your browser, or switch to safe mode.';
}
+
+ // 处理动态样式
+ (() => {
+ const glassSelectors = "{{settings.extra_glass_morphism_selectors}}".trim();
+ const cardSelectors = "{{settings.extra_card_item_selectors}}".trim();
+
+ let styles = '';
+
+ if (glassSelectors) {
+ const selectors = glassSelectors.split('\n').filter(s => s.trim()).map(s => s.trim()).join(', ');
+ styles += `
+ ${selectors} {
+ background-color: #ffffffa8 !important;
+ border-radius: var(--d-border-radius);
+ backdrop-filter: blur(32px);
+ box-shadow: #00000077 0 0 19px 0;
+ padding: 24px;
+ }
+ `;
+ }
+
+ if (cardSelectors) {
+ const selectors = cardSelectors.split('\n').filter(s => s.trim()).map(s => s.trim()).join(', ');
+ styles += `
+ ${selectors} {
+ background: var(--d-chat-input-bg-color);
+ border-radius: var(--d-border-radius);
+ box-shadow: #00000024 0 0 7px 2px;
+ margin: 10px 0;
+ position: relative;
+ padding: 16px 12px;
+ overflow: hidden;
+ transition: background-color 0.2s ease-in-out;
+ }
+ ${selectors}:hover {
+ background-color: var(--accent-text-color);
+ }
+ `;
+ }
+
+ if (styles) {
+ const styleEl = document.createElement('style');
+ styleEl.textContent = styles;
+ document.head.appendChild(styleEl);
+ }
+ })();
-{{#if settings.extra_glass_morphism_selectors}}
-
-{{/if}}
-
-{{#if settings.extra_card_item_selectors}}
-
-{{/if}}