diff --git a/apps/web/components/kanban-card.tsx b/apps/web/components/kanban-card.tsx index 642762f821..1b61013b48 100644 --- a/apps/web/components/kanban-card.tsx +++ b/apps/web/components/kanban-card.tsx @@ -41,6 +41,7 @@ import { needsAction } from "@/lib/utils/needs-action"; import { useAppStore } from "@/components/state-provider"; import { PRTaskIcon } from "@/components/github/pr-task-icon"; import { RemoteCloudTooltip } from "@/components/task/remote-cloud-tooltip"; +import { ArchiveConfirmDialog } from "@/components/task/archive-confirm-dialog"; export interface Task { id: string; @@ -341,18 +342,7 @@ function MoveToSubmenu({ ); } -function KanbanCardMenu({ - task, - effectiveMenuOpen, - setMenuOpen, - isDeleting, - isArchiving, - onEdit, - onDelete, - onArchive, - onMove, - steps, -}: { +type KanbanCardMenuProps = { task: Task; effectiveMenuOpen: boolean; setMenuOpen: (open: boolean) => void; @@ -363,8 +353,13 @@ function KanbanCardMenu({ onArchive?: (task: Task) => void; onMove?: (task: Task, targetStepId: string) => void; steps?: WorkflowStep[]; -}) { +}; + +function KanbanCardMenu(props: KanbanCardMenuProps) { + const { task, effectiveMenuOpen, setMenuOpen, isDeleting, isArchiving } = props; + const { onEdit, onDelete, onArchive, onMove, steps } = props; const [showDeleteConfirm, setShowDeleteConfirm] = useState(false); + const [showArchiveConfirm, setShowArchiveConfirm] = useState(false); const isProcessing = isDeleting || isArchiving; return ( @@ -380,8 +375,8 @@ function KanbanCardMenu({