feat: AdminAutogen — blog autogeneration UI

AdminAutogen.js для каждой категории (ai-tools, ai-dev, automation, cybersec):
  - Toggle вкл/выкл + статус (статей за 7д, тем в банке, время след.запуска)
  - Настройки: статей/день, час, минута + кнопка Сохранить
  - Кнопка Запустить прямо сейчас (фоновая генерация)
  - Последний/следующий запуск с датами
Очередь тем: добавить тему с категорией и приоритетом, удалить
AdminPanel: раздел Автогенерация с BookOpen иконкой
API routes: /api/admin/autogen, /[category], /[category]/run, /queue/[id]
This commit is contained in:
Ник (Claude)
2026-06-13 10:36:38 +03:00
parent a07cc224a9
commit 06340ab24e
6 changed files with 399 additions and 1 deletions
+4 -1
View File
@@ -1,12 +1,13 @@
'use client';
import { useState } from 'react';
import { Settings2, CreditCard, TrendingUp, Users, ChevronRight, Loader2, Eye, EyeOff, Save, RefreshCw, Check, AlertCircle, BarChart3, ArrowLeft, Zap, Tag, AlertTriangle } from 'lucide-react';
import { Settings2, CreditCard, TrendingUp, Users, ChevronRight, Loader2, Eye, EyeOff, Save, RefreshCw, Check, AlertCircle, BarChart3, ArrowLeft, Zap, Tag, AlertTriangle, BookOpen } from 'lucide-react';
import Link from 'next/link';
import AdminBilling from './admin/AdminBilling';
import AdminUsers from './admin/AdminUsers';
import AdminPromos from './admin/AdminPromos';
import AdminQueue from './admin/AdminQueue';
import AdminLogs from './admin/AdminLogs';
import AdminAutogen from './admin/AdminAutogen';
// ──────────────────────────────────────────────────────────────
// Sidebar navigation
@@ -19,6 +20,7 @@ const SECTIONS = [
{ id: 'spending', label: 'Расходы AI', icon: TrendingUp, desc: 'aiprimetech + routerai' },
{ id: 'queue', label: 'Очередь', icon: Zap, desc: 'Задачи генерации, ошибки' },
{ id: 'logs', label: 'Логи ошибок', icon: AlertTriangle, desc: 'Последние сбои и проблемы' },
{ id: 'autogen', label: 'Автогенерация', icon: BookOpen, desc: 'Расписание статей блога' },
{ id: 'plans', label: 'Тарифы', icon: BarChart3, desc: 'Планы, кредиты, операции' },
{ id: 'promos', label: 'Промокоды', icon: Tag, desc: 'Коды для кредитов и скидок' },
{ id: 'billing', label: 'Пользователи', icon: Users, desc: 'Балансы и кредиты' },
@@ -71,6 +73,7 @@ export default function AdminPanel({ initialSection = 'settings' }) {
{section === 'spending' && <SpendingSection />}
{section === 'queue' && <AdminQueue />}
{section === 'logs' && <AdminLogs />}
{section === 'autogen' && <AdminAutogen />}
{section === 'plans' && <PlansSection />}
{section === 'promos' && <AdminPromos />}
{section === 'billing' && <AdminUsers />}