AdminTopicBank.js: банк тем блога по категориям
Аккордеон: неиспользованные + использованные темы
Прогресс-бар использования, кнопка +10 AI (фоновая генерация)
Мультистрочное добавление (одна строка = одна тема)
AdminPanel: + Email/SMTP + Банк тем блога + Mail иконка
SmtpTestButton: тест отправки прямо в разделе SMTP
API routes: /api/admin/blog-topics, /[id], /generate, /api/admin/email/test
AdminAutogen.js для каждой категории (ai-tools, ai-dev, automation, cybersec):
- Toggle вкл/выкл + статус (статей за 7д, тем в банке, время след.запуска)
- Настройки: статей/день, час, минута + кнопка Сохранить
- Кнопка Запустить прямо сейчас (фоновая генерация)
- Последний/следующий запуск с датами
Очередь тем: добавить тему с категорией и приоритетом, удалить
AdminPanel: раздел Автогенерация с BookOpen иконкой
API routes: /api/admin/autogen, /[category], /[category]/run, /queue/[id]
AdminLogs.js:
Топ-5 частых ошибок с прогресс-баром
Фильтр по источнику (все/генерация/AI/публикация)
Список с раскрываемыми карточками:
- Левая граница цветом по типу (timeout/auth/model/other)
- Краткое и полное описание ошибки
- Контекстные подсказки (ссылка на настройки, объяснение причины)
Классификация: Таймаут/Rate limit/Модель/Пустой ответ/Сеть/Авторизация
AdminPanel: раздел Логи ошибок с AlertTriangle иконкой
API route: /api/admin/logs
AdminQueue.js: статистика по статусам + список 30 последних задач
4 счётчика (done/processing/pending/failed) с цветами
Алерт для застрявших задач + кнопка Сбросить
Фильтр по статусу, retry для failed задач
Детали: тип, тема, ошибка, токены, время
AdminPanel: раздел Очередь между Движком и Тарифами
API routes: /api/admin/queue (GET+DELETE), /api/admin/queue/[id]/retry
AdminPromos.js: создание/список/toggle/удаление промокодов
auto-generated code, type (credits/%), max_uses, expires, description
AdminPanel: раздел Промокоды между Тарифами и Пользователями
/billing page: кнопка '🎁 Есть промокод?' → форма ввода → apply-promo API
API routes: /api/admin/promos, /api/admin/promos/[id], /api/billing/apply-promo
AdminPanel: Сводка раздел первый (initialSection='dashboard')
DashboardSection: users stats, channels by platform, posts stats,
revenue vs AI costs cards, drafts pending alert, registrations bar chart 14d
SECTIONS: +Dashboard, +Engine (Движок)
API route: /api/admin/dashboard proxy
Next.js не позволяет [channelId] и [id] на одном уровне.
Решение: /api/inbox/channel/[channelId]/* и /api/inbox/message/[id]/*
InboxTab: все fetch пути обновлены
ChannelView: вкладка 'Inbox' рядом с 'Аналитика'
InboxTab.js:
- Webhook setup кнопка (если не настроен)
- Табы: Новые / Все / Отвечено / Игнорировано
- Карточки сообщений с иконкой типа (question/praise/complaint/spam)
- AI-предложенный ответ с кнопкой 'Использовать →'
- Форма ответа прямо в карточке
- Кнопки: Ответить / Игнорировать / Спам
API routes: /api/inbox/[channelId], /reply, /status, /setup-webhook
PollModal:
- Вопрос + 2-10 вариантов ответа
- Типы: обычный / викторина (с правильным ответом и объяснением)
- Настройки: анонимность, несколько ответов
- Отложенная публикация через datetime-local
- Кнопка «📊 Опрос» в ChannelView (только для TG каналов)
HashtagSuggest:
- Появляется под сгенерированным постом
- Запрос в /api/generate/hashtags → Claude Haiku
- Клик по тегу — выбор, кнопка «Добавить в пост»
- Обновление тегов, закрытие панели
- app/spending/page.js: расходы по периодам, разбивка по провайдерам и типам
- app/api/usage/summary/route.js: прокси к engine /api/usage/summary
- Header.js: ссылка «Расходы» для admin (TrendingUp иконка)
ChannelEdit.js:
- Добавлены goal (multi-select + кастомные, как в форме создания)
- Добавлен language (select: ru/en/uk/kk)
- Импортированы Plus, X иконки и GOALS константа
app/api/metrics/channel/[channelId]/route.js:
app/api/metrics/best-time/[channelId]/route.js:
- await params (Next.js 16 требует), иначе 500
- Auth: iron-session, регистрация/логин по email+password
- Дашборд со списком каналов
- 3-шаговая анкета создания канала (база/стиль/примеры+табу)
- Страница канала с генератором постов через polling
- Тёмная тема, Tailwind 3.4, accent emerald
- Прокси-API к zeropost-engine с x-user-id
- Совместимость с Next 16 async cookies/params