Andrey Epifancev d2b4ff2018 feat: skill aura-design — дизайн-система AURA для личных проектов (#17)
Скилл переносится из ~/.claude/skills/aura-design в репозиторий обвязки:
SKILL.md, справочники reference/ и набор kit/ (токены, base.css, компоненты
React, оболочка AppShell, тест токенов, test-setup, примеры входа).
install.sh ставит его в ~/.claude/skills/aura-design, --check его видит.
tests/test-aura-design.sh проверяет структуру и инварианты набора.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 12:10:34 +04:00

20 lines
709 B
TypeScript

import { useState } from "react";
import { applyTheme, effectiveDark, readTheme, saveTheme, type Theme } from "./theme.ts";
import { IconMoon, IconSun } from "./icons.tsx";
export function ThemeSwitch() {
const [theme, setTheme] = useState<Theme>(readTheme);
const dark = effectiveDark(theme);
const toggle = () => {
const next: Theme = dark ? "light" : "dark";
saveTheme(next);
applyTheme(next);
setTheme(next);
};
return (
<button type="button" role="switch" aria-checked={dark} aria-label="Тёмная тема" className="ui-theme" onClick={toggle}>
<span className="ui-theme__knob">{dark ? <IconMoon size={16} /> : <IconSun size={16} />}</span>
</button>
);
}