2025-06-16 16:17:18 +08:00

79 lines
2.8 KiB
Plaintext

package base
import (
"context"
tpl "github.com/a-h/templ"
)
templ Base(ctx context.Context, style, script tpl.Component) {
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>component</title>
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico">
<link rel="stylesheet" href="/assets/component/pear/css/pear.css" />
<link rel="stylesheet" href="/assets/admin/css/admin.css" />
<link rel="stylesheet" href="/assets/admin/css/admin.dark.css" />
<link rel="stylesheet" href="/assets/admin/css/variables.css" />
<link rel="stylesheet" href="/assets/admin/css/reset.css" />
<link rel="stylesheet" href="/assets/admin/css/style.css" />
@style
</head>
<body class="pear-container">
{ children... }
<script src="/assets/component/layui/layui.js"></script>
<script src="/assets/component/pear/pear.js"></script>
<script src="/assets/component/pear/help.js"></script>
<script src="/assets/js/function/public.js"></script>
<script src="/assets/js/upload.js"></script>
<script>
layui.use(['admin', 'jquery', 'popup', 'drawer'], function () {
var $ = layui.jquery;
var admin = layui.admin;
var popup = layui.popup;
// 读取 localStorage 主题颜色值,初始化 iframe 主题
darkTheme();
themeColor();
// iframe 页监听 localStorage [pear 框架主题颜色] 变化。发生变化,同步更新 iframe 显示效果
window.addEventListener('storage', function (event) {
if (event.key === 'dark') {
darkTheme();
}
if (event.key === 'theme-color') {
themeColor();
}
});
// 夜间模式切换
function darkTheme() {
var $pearAdmin = $(".pear-admin"); // 主体
var $layuiCard = $('.layui-card'); // 编辑页
if (localStorage.getItem('dark') === 'true') {
$pearAdmin.addClass("pear-admin-dark");
$layuiCard.addClass('layui-card-dark');
} else {
$pearAdmin.removeClass("pear-admin-dark");
$layuiCard.removeClass('layui-card-dark');
}
}
// 主题颜色切换
function themeColor() {
const variableKey = "--global-primary-color";
const variableVal = localStorage.getItem("theme-color-color");
document.documentElement.style.setProperty(variableKey, variableVal);
}
})
</script>
@script
</body>
</html>
}