// Ideas / Backlog. Three input methods at top + chronological list + filter chips. const { useState: useStateId, useEffect: useEffectId, useRef: useRefId } = React; function Ideas({ data, setData, onUseForGen }) { const { Button, IconButton, Card, Pill, Textarea, TextInput, SectionHead, EmptyState } = window.UI; const I = window.Icons; const [text, setText] = useStateId(''); const [link, setLink] = useStateId(''); const [recording, setRecording] = useStateId(false); const [recTime, setRecTime] = useStateId(0); const [filter, setFilter] = useStateId('all'); useEffectId(() => { if (!recording) return; const t = setInterval(() => setRecTime(v => v + 1), 1000); return () => clearInterval(t); }, [recording]); const addIdea = (idea) => { setData({ ...data, ideas: [{ ...idea, id: 'i' + Date.now(), when: 'только что' }, ...data.ideas] }); }; const list = filter === 'all' ? data.ideas : data.ideas.filter(i => i.type === filter); const TYPE_ICONS = { text: I.Text, link: I.Link, voice: I.Mic }; const TYPE_LABELS = { text: 'Текст', link: 'Ссылка', voice: 'Голос' }; return (
{/* Three input methods */}
{/* Text */}
Текст