aboutsummaryrefslogtreecommitdiffstats
path: root/renderer/src/App.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'renderer/src/App.tsx')
-rw-r--r--renderer/src/App.tsx34
1 files changed, 34 insertions, 0 deletions
diff --git a/renderer/src/App.tsx b/renderer/src/App.tsx
index d5a2efd..26ac252 100644
--- a/renderer/src/App.tsx
+++ b/renderer/src/App.tsx
@@ -237,6 +237,38 @@ export function App() {
237 setOriginalContent(""); 237 setOriginalContent("");
238 }; 238 };
239 239
240 const handleDeleteProject = async (id: string) => {
241 try {
242 await api.deleteProject(id);
243 setProjects((prev) => prev.filter((p) => p.id !== id));
244 if (selectedProject?.id === id) {
245 setSelectedProject(null);
246 setSelectedSession(null);
247 setSessions([]);
248 setMessages([]);
249 setDocumentContent("");
250 setOriginalContent("");
251 }
252 } catch (err) {
253 setError(err instanceof Error ? err.message : "Failed to delete project");
254 }
255 };
256
257 const handleDeleteSession = async (id: string) => {
258 try {
259 await api.deleteSession(id);
260 setSessions((prev) => prev.filter((s) => s.id !== id));
261 if (selectedSession?.id === id) {
262 setSelectedSession(null);
263 setMessages([]);
264 setDocumentContent("");
265 setOriginalContent("");
266 }
267 } catch (err) {
268 setError(err instanceof Error ? err.message : "Failed to delete session");
269 }
270 };
271
240 return ( 272 return (
241 <div className="app"> 273 <div className="app">
242 <Header 274 <Header
@@ -248,6 +280,8 @@ export function App() {
248 onSelectSession={setSelectedSession} 280 onSelectSession={setSelectedSession}
249 onCreateProject={handleCreateProject} 281 onCreateProject={handleCreateProject}
250 onCreateSession={handleCreateSession} 282 onCreateSession={handleCreateSession}
283 onDeleteProject={handleDeleteProject}
284 onDeleteSession={handleDeleteSession}
251 /> 285 />
252 286
253 <div className="main-content"> 287 <div className="main-content">