'use client' import { useActionState, useState, useTransition } from 'react' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { addProductMemberAction, removeProductMemberAction } from '@/actions/products' import { debugProps } from '@/lib/debug' interface Member { id: string username: string } interface TeamManagerProps { productId: string members: Member[] } export function TeamManager({ productId, members }: TeamManagerProps) { const [state, formAction, isPending] = useActionState(addProductMemberAction, null) const [removingId, setRemovingId] = useState(null) const [, startTransition] = useTransition() function handleRemove(memberId: string) { setRemovingId(memberId) startTransition(async () => { await removeProductMemberAction(productId, memberId) setRemovingId(null) }) } return (
{members.length === 0 ? (

Nog geen teamleden toegevoegd.

) : ( )}
{state && 'error' in state && typeof state.error === 'string' && (

{state.error}

)} {state && 'success' in state && (

Teamlid toegevoegd.

)}
) }