diff --git a/components/ChannelEdit.js b/components/ChannelEdit.js index 5d33550..a429794 100644 --- a/components/ChannelEdit.js +++ b/components/ChannelEdit.js @@ -63,6 +63,7 @@ const IMAGE_PALETTES = [ const TABS = [ { id: 'content', label: 'Контент', icon: Type }, { id: 'images', label: 'Картинки', icon: ImageIcon }, + { id: 'ai', label: 'AI-стиль', icon: Sparkles }, { id: 'connect', label: 'Подключение', icon: Plug }, ]; @@ -106,6 +107,10 @@ export default function ChannelEdit({ channel }) { const [tokenVerifying, setTokenVerifying] = useState(false); const [tokenStatus, setTokenStatus] = useState(null); // null | 'ok' | 'error' + // AI-стиль + const [aiStylePrompt, setAiStylePrompt] = useState(channel.ai_style_prompt || ''); + const [imageQuality, setImageQuality] = useState(channel.image_quality || 'standard'); + const [saving, setSaving] = useState(false); const [deleting, setDeleting] = useState(false); const [error, setError] = useState(''); @@ -121,6 +126,8 @@ export default function ChannelEdit({ channel }) { tg_channel_id: tgChannelId.trim() || null, tg_username: tgUsername.trim() || null, vk_access_token: vkToken.trim() || null, + ai_style_prompt: aiStylePrompt.trim() || null, + image_quality: imageQuality, style: { tone, formality, humor, post_length: postLength, @@ -442,6 +449,84 @@ export default function ChannelEdit({ channel }) { )} + {/* TAB: AI-стиль */} + {tab === 'ai' && ( +
+ {/* Промт для генерации статей */} +
+
+ +

Стиль генерации статей

+
+

+ Дополнительные инструкции для AI при автоматической генерации статей в этом канале. + Применяется ко всем статьям канала. При ручной генерации можно переопределить. +

+