fix: Link2 undefined crash + goal multi-select + custom goal

ChannelView.js:
- Добавлен Link2 в import lucide-react (ReferenceError при открытии канала)
- Отображение goal учитывает множественные значения через split(',')

app/page.js:
- Аналогичный фикс отображения goal (split → map → join)

channels/new/page.js:
- Цель канала: single-select → multi-select (можно выбрать несколько)
- Кастомная цель: поле + кнопка «+», Enter, чипы с удалением
- Сохраняется как CSV строка (goal: goals.join(','))

DB:
- channels.goal varchar(50) → varchar(255) для длинных кастомных значений
This commit is contained in:
Ник (Claude)
2026-06-09 08:39:32 +03:00
parent 8f4dc1a386
commit 69226cbbde
3 changed files with 65 additions and 19 deletions
+2 -2
View File
@@ -4,7 +4,7 @@ import Link from 'next/link';
import {
ArrowLeft, Sparkles, Wand2, Copy, Check, Loader2, Settings,
Image as ImageIcon, RefreshCw, Scissors, Maximize2, Zap, Heart,
MessageSquare, Pencil, X, Send, Clock, Search, Camera, ExternalLink
MessageSquare, Pencil, X, Send, Clock, Search, Camera, ExternalLink, Link2
} from 'lucide-react';
import PhotoSearchModal from './PhotoSearchModal';
import PostPreview from './PostPreview';
@@ -330,7 +330,7 @@ export default function ChannelView({ channel }) {
<Sparkles className="w-5 h-5 text-accent" />
<h1 className="text-2xl font-bold">{channel.name}</h1>
<span className="text-xs px-2 py-0.5 rounded-full bg-surface2 text-gray-400">
{GOAL_LABELS[channel.goal] || channel.goal}
{(channel.goal || '').split(',').map(g => GOAL_LABELS[g.trim()] || g.trim()).join(' · ')}
</span>
</div>
{channel.niche && <p className="text-sm text-gray-500 max-w-2xl">{channel.niche}</p>}