feat(ui): add light theme with system auto-switch + Cyrene avatar

- Miuix day/night dual theme CSS variables
- themeStore: light default, follows prefers-color-scheme
- Header: sun/moon toggle button
- All components migrated to CSS variables
- Cyrene avatar image replaces 'C' logo everywhere
- Favicon added
This commit is contained in:
Aska committed 2026-08-12 17:42:18 +08:00
1 parent 78c5f0f1b0
commit 5faa955bce
24 files changed
+337 -218

No files matched your search

@@ -26,16 +26,16 @@ export default function IoTManagementPage() {
return (
<div className="p-6 space-y-4">
<h2 className="text-lg font-semibold">IoT 设备管理</h2>
<p className="text-xs text-white/40">8 个模拟智能家居设备(测试环境)</p>
<p className="text-xs text-[var(--mx-text-dim)]">8 个模拟智能家居设备(测试环境)</p>
<div className="space-y-2">
{devices.map(d => {
const isOn = d.type !== 'sensor' && d.state.power === true
return (
<div key={d.id} className="bg-[#000] border border-[#404040] rounded-[18px] px-4 py-3 flex items-center justify-between">
<div key={d.id} className="bg-[var(--mx-surface)] border border-[var(--mx-outline)] rounded-[18px] px-4 py-3 flex items-center justify-between">
<div>
<p className="text-sm text-[#F2F2F2]">{d.name}</p>
<p className="text-xs text-white/30">
<p className="text-sm text-[var(--mx-text)]">{d.name}</p>
<p className="text-xs text-[var(--mx-text-dim)]">
{d.type === 'light' && `亮度: ${d.state.brightness}%`}
{d.type === 'ac' && `${d.state.temperature}°C ${d.state.mode}`}
{d.type === 'curtain' && `位置: ${d.state.position}%`}
@@ -45,7 +45,7 @@ export default function IoTManagementPage() {
</div>
{d.type !== 'sensor' && (
<button onClick={() => toggle(d.id)}
className={`w-12 h-7 rounded-full relative transition-colors ${isOn ? 'bg-[#277AF7]' : 'bg-[#404040]'}`}
className={`w-12 h-7 rounded-full relative transition-colors ${isOn ? 'bg-[var(--mx-primary)]' : 'bg-[#404040]'}`}
>
<div className={`absolute top-0.5 w-6 h-6 rounded-full bg-white transition-transform ${isOn ? 'translate-x-6' : 'translate-x-0.5'}`} />
</button>