feat: светлая тема как основная + переключатель тем

- CSS-переменные --bg, --surface, --ink, --mute, --accent для обеих тем
- darkMode: 'class' в Tailwind config
- ThemeToggle компонент с Sun/Moon, сохраняет выбор в localStorage
- Inline-скрипт в layout.js защищает от FOUC (FlashOfUnstyledContent)
- Авто-определение по prefers-color-scheme как fallback
- not-found.js: красивая 404 страница вместо дефолтной Next
- Обновлены все компоненты и страницы — Header, Footer, ArticleCard, page.js, blog, tag, about
This commit is contained in:
Alexey Pavlov
2026-05-31 09:07:44 +03:00
parent d8d1affcc8
commit a16bf812e4
12 changed files with 231 additions and 75 deletions
+4 -4
View File
@@ -2,14 +2,14 @@ import Link from 'next/link';
export default function Footer() {
return (
<footer className="border-t border-border/60 mt-20">
<div className="container-wide py-10 flex flex-col sm:flex-row items-center justify-between gap-4 text-sm text-mute">
<footer className="border-t-soft mt-20">
<div className="container-wide py-10 flex flex-col sm:flex-row items-center justify-between gap-4 text-sm mute">
<div>
© {new Date().getFullYear()} ZeroPost генерируется ИИ, читается людьми
</div>
<div className="flex items-center gap-4">
<Link href="/about" className="hover:text-white transition-colors">О проекте</Link>
<a href="https://app.zeropost.ru" className="hover:text-white transition-colors">Сервис</a>
<Link href="/about" className="hover:ink transition-colors">О проекте</Link>
<a href="https://app.zeropost.ru" className="hover:ink transition-colors">Сервис</a>
</div>
</div>
</footer>