'use client' import { useState } from 'react' import { Trash2 } from 'lucide-react' import { deleteList } from '@/lib/actions' import { useRouter } from 'next/navigation' import Modal from './Modal' import { useToast } from './ToastContainer' interface DeleteListButtonProps { listId: string listTitle: string itemCount: number redirectAfterDelete?: boolean } export default function DeleteListButton({ listId, listTitle, itemCount, redirectAfterDelete = false }: DeleteListButtonProps) { const router = useRouter() const { showToast } = useToast() const [isConfirmOpen, setIsConfirmOpen] = useState(false) const [isDeleting, setIsDeleting] = useState(false) const handleDelete = async () => { setIsDeleting(true) try { await deleteList(listId) showToast('List deleted successfully', 'success') setIsConfirmOpen(false) if (redirectAfterDelete) { router.push('/') } else { router.refresh() } } catch (err) { console.error('Failed to delete list:', err) showToast('Failed to delete list', 'error') } finally { setIsDeleting(false) } } return ( <> setIsConfirmOpen(false)} title="Delete List" >

Are you sure you want to delete {listTitle}?

{itemCount > 0 && (

This will permanently delete {itemCount} {itemCount === 1 ? 'item' : 'items'}.

)}
) }