mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-31 20:03:37 +00:00
- Move dialogs to src/components/dialogs/ folder: - delete-session-dialog.tsx - delete-all-archived-sessions-dialog.tsx - new-project-modal.tsx - workspace-picker-modal.tsx - Update all imports to reference new dialog locations - Create barrel export (index.ts) for board-view/components/kanban-card/ - Create barrel exports (index.ts) for all 11 settings-view subfolders: - api-keys/, api-keys/hooks/, appearance/, audio/, cli-status/ - components/, config/, danger-zone/, feature-defaults/ - keyboard-shortcuts/, shared/ This is Phase 2 of folder-pattern.md compliance: organizing dialogs and establishing consistent barrel export patterns across all view subfolders. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
49 lines
1.5 KiB
TypeScript
49 lines
1.5 KiB
TypeScript
import { MessageSquare } from 'lucide-react';
|
|
import { DeleteConfirmDialog } from '@/components/ui/delete-confirm-dialog';
|
|
import type { SessionListItem } from '@/types/electron';
|
|
|
|
interface DeleteSessionDialogProps {
|
|
open: boolean;
|
|
onOpenChange: (open: boolean) => void;
|
|
session: SessionListItem | null;
|
|
onConfirm: (sessionId: string) => void;
|
|
}
|
|
|
|
export function DeleteSessionDialog({
|
|
open,
|
|
onOpenChange,
|
|
session,
|
|
onConfirm,
|
|
}: DeleteSessionDialogProps) {
|
|
const handleConfirm = () => {
|
|
if (session) {
|
|
onConfirm(session.id);
|
|
}
|
|
};
|
|
|
|
return (
|
|
<DeleteConfirmDialog
|
|
open={open}
|
|
onOpenChange={onOpenChange}
|
|
onConfirm={handleConfirm}
|
|
title="Delete Session"
|
|
description="Are you sure you want to delete this session? This action cannot be undone."
|
|
confirmText="Delete Session"
|
|
testId="delete-session-dialog"
|
|
confirmTestId="confirm-delete-session"
|
|
>
|
|
{session && (
|
|
<div className="flex items-center gap-3 p-4 rounded-lg bg-sidebar-accent/10 border border-sidebar-border">
|
|
<div className="w-10 h-10 rounded-lg bg-sidebar-accent/20 border border-sidebar-border flex items-center justify-center shrink-0">
|
|
<MessageSquare className="w-5 h-5 text-brand-500" />
|
|
</div>
|
|
<div className="min-w-0">
|
|
<p className="font-medium text-foreground truncate">{session.name}</p>
|
|
<p className="text-xs text-muted-foreground">{session.messageCount} messages</p>
|
|
</div>
|
|
</div>
|
|
)}
|
|
</DeleteConfirmDialog>
|
|
);
|
|
}
|