"use client"; import { TaskRenameDialog } from "./task-rename-dialog"; import { TaskArchiveConfirmDialog } from "./task-archive-confirm-dialog"; import { TaskDeleteConfirmDialog } from "./task-delete-confirm-dialog"; type Target = { id: string; title: string } | null; export type SidebarDialogsActions = { renamingTask: Target; setRenamingTask: (next: Target) => void; handleRenameSubmit: (newTitle: string) => Promise | void; archivingTask: Target; setArchivingTask: (next: Target) => void; isArchiving: boolean; handleArchiveConfirm: () => Promise | void; deletingTask: Target; setDeletingTask: (next: Target) => void; isDeleting: boolean; handleDeleteConfirm: () => Promise | void; }; export function SidebarDialogs({ actions }: { actions: SidebarDialogsActions }) { const { renamingTask, setRenamingTask, handleRenameSubmit, archivingTask, setArchivingTask, isArchiving, handleArchiveConfirm, deletingTask, setDeletingTask, isDeleting, handleDeleteConfirm, } = actions; return ( <> { if (!open) setRenamingTask(null); }} currentTitle={renamingTask?.title ?? ""} onSubmit={handleRenameSubmit} /> { if (!open) setArchivingTask(null); }} taskTitle={archivingTask?.title ?? ""} isArchiving={isArchiving} onConfirm={handleArchiveConfirm} /> { if (!open) setDeletingTask(null); }} taskTitle={deletingTask?.title ?? ""} isDeleting={isDeleting} onConfirm={handleDeleteConfirm} /> ); }