From d3f13f906fdcb1ffe13917358d9ba279e5631e53 Mon Sep 17 00:00:00 2001 From: Aleksei Pavlov Date: Sun, 21 Jun 2026 21:17:10 +0300 Subject: [PATCH] =?UTF-8?q?feat(AutogenPanel):=20=C2=AB=D0=9E=D1=87=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D1=8C=20=D1=82=D0=B5=D0=BC=C2=BB=20=E2=86=92?= =?UTF-8?q?=20=C2=AB=D0=9F=D0=BB=D0=B0=D0=BD=D0=B8=D1=80=D1=83=D0=B5=D1=82?= =?UTF-8?q?=D1=81=D1=8F=20=D0=B7=D0=B0=D0=B2=D1=82=D1=80=D0=B0=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Блок теперь показывает черновики сегодняшней генерации: - миниатюра обложки + название + категория - кнопка «Редактировать» → /admin/articles/:id - кнопка удалить черновик - предупреждение если сгенерировано < 4 статей - пустое состояние «появятся в 17:00 МСК» - ссылка «Все черновики →» на /admin/drafts --- components/admin/AutogenPanel.js | 96 +++++++++++++++----------------- 1 file changed, 44 insertions(+), 52 deletions(-) diff --git a/components/admin/AutogenPanel.js b/components/admin/AutogenPanel.js index 982d232..a16e76b 100644 --- a/components/admin/AutogenPanel.js +++ b/components/admin/AutogenPanel.js @@ -1,4 +1,5 @@ 'use client'; +import Link from 'next/link'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { Play, Plus, Trash2, RefreshCw, Clock, CheckCircle, XCircle, Zap } from 'lucide-react'; @@ -291,74 +292,65 @@ export default function AutogenPanel({ status, queue, topics, categories = [] }) })} - {/* Очередь тем */} + {/* Планируется завтра — черновики сегодняшней генерации */}
-

- Очередь тем ({pendingQueue.length}) -

- +
+

+ Планируется завтра + + {pendingQueue.length > 0 ? `${pendingQueue.length} из 4 готово` : 'генерация в 17:00 МСК'} + +

+

+ Черновики которые выйдут завтра. Редактируй до 07:00 — потом авто-публикация. +

+
+ + Все черновики → +
- {showAddForm && ( -
-
- - setNewTopic(e.target.value)} - onKeyDown={e => e.key === 'Enter' && addTopic()} - placeholder="Тема статьи..." - className="flex-1 px-3 py-2 rounded-lg border border-neutral-200 dark:border-neutral-700 bg-white dark:bg-neutral-800 text-sm focus:outline-none focus:ring-2 focus:ring-emerald-500" - autoFocus - /> - -
-
- )} -
- {pendingQueue.length === 0 && !showAddForm && ( + {pendingQueue.length === 0 && (
- Очередь пуста — темы берутся из банка автоматически +
+ Черновики появятся сегодня в 17:00 МСК
)} {pendingQueue.map(item => { - const cat = CAT_LABELS[item.category]; + const cat = CAT_LABELS[item.category] || { icon: '📝', name: item.category, color: 'neutral' }; return ( -
- {cat?.icon || '📝'} +
+ {item.cover_url + ? + :
{cat.icon}
+ }
-
{item.topic}
-
{cat?.name} · приоритет {item.priority}
+
{item.title || '—'}
+
{cat.icon} {cat.name}
+
+
+ + Редактировать + +
-
); })}
+ + {pendingQueue.length > 0 && pendingQueue.length < 4 && ( +
+ ⚠️ Сгенерировано {pendingQueue.length} из 4 статей. Запусти генерацию вручную для недостающих категорий. +
+ )}
{/* Банк тем */}