feat: drafts UI — /drafts review page + batch generate button

/drafts page: список черновиков по статусам (pending/approved/rejected)
  Одобрить + выбрать время → scheduled_post в календарь
  Редактировать текст inline, отклонить, удалить
Header: ссылка 'Черновики' (FileText иконка)
ChannelView: кнопка 'Авто ×N' для batch-генерации (async)
ChannelEdit AI-стиль: секция авто-черновиков (toggle + count + time)
API routes: /api/drafts, /api/drafts/[id]/{approve,reject}
  /api/channels/[channelId]/drafts/generate
This commit is contained in:
Ник (Claude)
2026-06-12 23:48:17 +03:00
parent ab4e340db9
commit 5bf01ec394
9 changed files with 411 additions and 1 deletions
+5 -1
View File
@@ -2,7 +2,7 @@
import Link from 'next/link';
import { useRouter } from 'next/navigation';
import { useEffect, useState } from 'react';
import { Sparkles, LogOut, Settings2, CalendarDays, TrendingUp, Coins } from 'lucide-react';
import { Sparkles, LogOut, Settings2, CalendarDays, TrendingUp, Coins, FileText } from 'lucide-react';
import ThemeToggle from './ThemeToggle';
export default function Header({ user }) {
@@ -34,6 +34,10 @@ export default function Header({ user }) {
<CalendarDays className="w-4 h-4" />
<span>Календарь</span>
</Link>
<Link href="/drafts" className="btn-ghost px-3 py-1.5 text-sm flex items-center gap-1.5">
<FileText className="w-4 h-4" />
<span>Черновики</span>
</Link>
{user?.isAdmin && (
<Link href="/spending" className="btn-ghost px-3 py-1.5 text-sm flex items-center gap-1.5">
<TrendingUp className="w-4 h-4" />