/* global React, UI */
const { useState } = React;
function Logo({ size = 32 }) {
return (
陛下信箱
);
}
function ThemeToggle({ variant }) {
const [theme, setTheme] = useState(typeof window !== 'undefined' && window.bxGetTheme ? window.bxGetTheme() : 'light');
const isDark = theme === 'dark';
const toggle = () => setTheme(window.bxToggleTheme ? window.bxToggleTheme() : (isDark ? 'light' : 'dark'));
const icon = isDark ? (
/* sun → 切到日间 */
) : (
/* moon → 切到夜间 */
);
const label = isDark ? '切换到日间 · 白昼朝堂' : '切换到夜间 · 暗夜朝堂';
if (variant === 'drawer') {
return ;
}
return ;
}
function Nav({ active, onNav, user, onLogin, onLogout, onSearch, onBell, notifCount }) {
const items = [
{ id: 'home', label: '首页' },
{ id: 'compose', label: '呈递奏折' },
{ id: 'feed', label: '御批精选' },
{ id: 'rank', label: '爱卿榜' },
{ id: 'track', label: '查询进度' },
];
const [open, setOpen] = useState(false);
const [menuOpen, setMenuOpen] = useState(false);
return (
);
}
function Footer({ onNav }) {
const go = (r) => (e) => { e.preventDefault(); onNav && onNav(r); };
return (
);
}
function Button({ variant = 'primary', size, children, icon, onClick, type, disabled, title }) {
const cls = `bx-btn bx-btn--${variant}${size ? ' bx-btn--' + size : ''}`;
return ;
}
function SealIcon({ size = 14, color = 'var(--bronze)' }) {
return (
);
}
function CloudDivider() {
return (
);
}
Object.assign(window, { Logo, Nav, Footer, Button, SealIcon, CloudDivider });