"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; executorType?: string | null } | null; export type SidebarDialogsActions = { renamingTask: Target; setRenamingTask: (next: Target) => void; handleRenameSubmit: (newTitle: string) => Promise | void; archivingTask: Target; setArchivingTask: (next: Target) => void; isArchiving: boolean; handleArchiveConfirm: (opts: { cascade: boolean }) => Promise | void; deletingTask: Target; setDeletingTask: (next: Target) => void; isDeleting: boolean; handleDeleteConfirm: (opts: { cascade: boolean }) => 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 ?? ""} taskId={archivingTask?.id} executorType={archivingTask?.executorType} isArchiving={isArchiving} onConfirm={handleArchiveConfirm} /> { if (!open) setDeletingTask(null); }} taskTitle={deletingTask?.title ?? ""} taskId={deletingTask?.id} executorType={deletingTask?.executorType} isDeleting={isDeleting} onConfirm={handleDeleteConfirm} /> ); }