aboutsummaryrefslogtreecommitdiffstats
path: root/renderer/src/components
diff options
context:
space:
mode:
Diffstat (limited to 'renderer/src/components')
-rw-r--r--renderer/src/components/Header.tsx36
1 files changed, 36 insertions, 0 deletions
diff --git a/renderer/src/components/Header.tsx b/renderer/src/components/Header.tsx
index 3dcbba9..b6bed26 100644
--- a/renderer/src/components/Header.tsx
+++ b/renderer/src/components/Header.tsx
@@ -10,6 +10,8 @@ interface HeaderProps {
10 onSelectSession: (session: Session | null) => void; 10 onSelectSession: (session: Session | null) => void;
11 onCreateProject: () => void; 11 onCreateProject: () => void;
12 onCreateSession: () => void; 12 onCreateSession: () => void;
13 onDeleteProject?: (id: string) => void;
14 onDeleteSession?: (id: string) => void;
13} 15}
14 16
15const phaseLabels: Record<Phase, string> = { 17const phaseLabels: Record<Phase, string> = {
@@ -29,7 +31,23 @@ export function Header({
29 onSelectSession, 31 onSelectSession,
30 onCreateProject, 32 onCreateProject,
31 onCreateSession, 33 onCreateSession,
34 onDeleteProject,
35 onDeleteSession,
32}: HeaderProps) { 36}: HeaderProps) {
37 const handleDeleteProject = () => {
38 if (!selectedProject || !onDeleteProject) return;
39 if (confirm(`Delete project "${selectedProject.name}"? This cannot be undone.`)) {
40 onDeleteProject(selectedProject.id);
41 }
42 };
43
44 const handleDeleteSession = () => {
45 if (!selectedSession || !onDeleteSession) return;
46 if (confirm(`Delete session "${selectedSession.name}"? This cannot be undone.`)) {
47 onDeleteSession(selectedSession.id);
48 }
49 };
50
33 return ( 51 return (
34 <header className="header"> 52 <header className="header">
35 <div className="header-left"> 53 <div className="header-left">
@@ -49,6 +67,15 @@ export function Header({
49 ))} 67 ))}
50 </select> 68 </select>
51 <button onClick={onCreateProject}>+ Project</button> 69 <button onClick={onCreateProject}>+ Project</button>
70 {selectedProject && onDeleteProject && (
71 <button
72 onClick={handleDeleteProject}
73 className="btn-delete"
74 title="Delete project"
75 >
76 🗑️
77 </button>
78 )}
52 79
53 {selectedProject && ( 80 {selectedProject && (
54 <> 81 <>
@@ -67,6 +94,15 @@ export function Header({
67 ))} 94 ))}
68 </select> 95 </select>
69 <button onClick={onCreateSession}>+ Session</button> 96 <button onClick={onCreateSession}>+ Session</button>
97 {selectedSession && onDeleteSession && (
98 <button
99 onClick={handleDeleteSession}
100 className="btn-delete"
101 title="Delete session"
102 >
103 🗑️
104 </button>
105 )}
70 </> 106 </>
71 )} 107 )}
72 </div> 108 </div>