pipeline-app/wwwroot/theme_toggle.js

35 lines
1.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 顶栏主题切换:页面加载时恢复上次主题 + 同步按钮图标
约定light 主题显示 🌙点击切暗dark 主题显示 ☀️(点击切亮) */
(function(){
if (typeof bricks === 'undefined') return;
var KEY = 'pipeline_ui_theme';
function applyTheme(t){
document.documentElement.setAttribute('data-theme', t);
var btn = bricks.getWidgetById('theme_toggle_btn', bricks.app);
if (btn && btn.dom_element){
btn.opts.label = (t === 'light') ? '🌙' : '☀️';
btn.dom_element.textContent = btn.opts.label;
}
// 侧栏折叠图标分风格2026-09-18 用户要求):亮=☰ 暗=☰ 反色不可行(顶栏深色),
// 改用主题感知的展开/收起语义图标:亮色 ☰ / 暗色 ☲(线条更亮更细的变体)
var tg = bricks.getWidgetById('btn_toggle_sidebar', bricks.app);
if (tg && tg.dom_element){
tg.opts.label = (t === 'light') ? '☰' : '☲';
tg.dom_element.textContent = tg.opts.label;
}
}
window.applyPipelineTheme = applyTheme;
function _start(){
if (bricks.app && bricks.getWidgetById){
var t = null;
try { t = localStorage.getItem(KEY); } catch(e) {}
applyTheme(t || 'light');
} else {
setTimeout(_start, 300);
}
}
setTimeout(_start, 300);
})();