diff --git a/components/ideas/idea-list.tsx b/components/ideas/idea-list.tsx index d052fd1..1357fb2 100644 --- a/components/ideas/idea-list.tsx +++ b/components/ideas/idea-list.tsx @@ -126,6 +126,11 @@ export function IdeaList({ ideas, products, isDemo }: IdeaListProps) { const [newDescription, setNewDescription] = useState('') const [newProductId, setNewProductId] = useState('') + // Quick-idea form state + const [showQuick, setShowQuick] = useState(false) + const [quickTitle, setQuickTitle] = useState('') + const [quickDescription, setQuickDescription] = useState('') + const filtered = useMemo(() => { const q = search.trim().toLowerCase() const result = ideas.filter((idea) => { @@ -218,6 +223,27 @@ export function IdeaList({ ideas, products, isDemo }: IdeaListProps) { }) } + function handleQuickCreate() { + if (isDemo) return + const title = quickTitle.trim() + if (!title) { + toast.error('Titel is verplicht') + return + } + startTransition(async () => { + const r = await createIdeaAction({ title, description: quickDescription.trim() || null, product_id: null }) + if ('error' in r) { + toast.error(r.error) + return + } + toast.success(`Idee aangemaakt (${r.data?.code})`) + setQuickTitle('') + setQuickDescription('') + setShowQuick(false) + router.refresh() + }) + } + function handleArchive(id: string) { if (isDemo) return startTransition(async () => { @@ -254,7 +280,18 @@ export function IdeaList({ ideas, products, isDemo }: IdeaListProps) { ))} -
+
+ + +