diff options
Diffstat (limited to 'renderer/src/App.tsx')
| -rw-r--r-- | renderer/src/App.tsx | 34 |
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"> |
