# Next.js Админ-Панель — Руководство ## Обзор Новая админ-панель на **Next.js 16** (App Router) + **TypeScript** + **shadcn/ui** + **Prisma** (SQLite) + **Recharts**. Полная замена EJS/SmartAdmin шаблонизатора. ## Стек | Слой | Технология | |---|---| | Фреймворк | Next.js 16 (App Router, Turbopack) | | Язык | TypeScript 5 | | Стилизация | Tailwind CSS 4 + shadcn/ui (New York) | | БД | Prisma ORM + SQLite | | Графики | Recharts | | Состояние | Zustand | | Тема | next-themes (dark/light) | | Уведомления | Sonner (toast) | | Иконки | Lucide React | ## Авторизация - Пароль: значение ADMIN_SECRET из .env - Если задан SUPER_ADMIN_SECRET (и ≠ ADMIN_SECRET) — вход с ним даёт роль super_admin - Если не задан — все админы = super_admin - Кука admin_token (httpOnly, 24ч) - Rate-limit: 5 попыток / 15 мин с IP ## Экраны (11) 1. **Dashboard** — 10 KPI, 7 графиков, активность, кошельки 2. **Catalog** — дерево локаций + товары + модалка 3. **Users** — список + детальная + бан + баланс 4. **Wallets** — 3 вкладки + seed фразы (super_admin) 5. **Purchases** — таблица с фильтрами 6. **Audit Log** — журнал с цветными бейджами 7. **Categories** — CRUD с привязкой к локациям 8. **Locations** — CRUD (страна/город/район) 9. **Settings** — редактирование .env переменных 10. **Locales** — inline-редактор 3 языков 11. **Danger Zone** — Seed / Clear с reauth ## Docker (ARM) ```bash docker build -t tg-admin . docker run -p 3000:3000 -v ./db:/app/db -e ADMIN_SECRET=your_secret tg-admin ``` Требования: минимум 512 МБ RAM, ARM64/ARMv7/x86_64. ## Seed-данные POST /api/seed/demo создаёт данные идентичные оригинальному seed.js: - 3 локации, 5 категорий, 11 подкатегорий - 10 пользователей (alice-jack) - 10 товаров, 25-30 покупок - 10 криптокошельков, 2 комиссионных платежа, 12 audit записей