feat: enhance project management with duplicate name checks and toast notifications

- Added duplicate name check in NewProjectDialog to warn users of existing project names.
- Integrated toast notifications for actions like project deletion and export in ProjectsPage.
- Implemented project ordering and restoration functionality in platform context.
- Updated ProjectsPage to include search, sorting, and pagination features.
- Created a new Toast component for displaying notifications with optional undo actions.
- Refactored main application entry to include ToastProvider for global toast management.
This commit is contained in:
2026-03-09 22:36:14 +01:00
parent e441d36cf4
commit 57dfcb6458
6 changed files with 880 additions and 270 deletions

View File

@@ -2,6 +2,7 @@ import React from 'react'
import { createRoot } from 'react-dom/client'
import { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom'
import { ThemeProvider } from './lib/themeContext'
import { ToastProvider } from './components/ui/toast'
import { registerBuiltinNodes } from './lib/registerBuiltinNodes'
import { PlatformPage } from './app/platform/PlatformPage'
import { ProjectsPage } from './app/platform/ProjectsPage'
@@ -14,15 +15,17 @@ registerBuiltinNodes()
createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<ThemeProvider>
<BrowserRouter>
<Routes>
<Route path="/" element={<PlatformPage />}>
<Route index element={<Navigate to="/projects" replace />} />
<Route path="projects" element={<ProjectsPage />} />
<Route path="projects/:projectId" element={<CanvasRoute />} />
</Route>
</Routes>
</BrowserRouter>
<ToastProvider>
<BrowserRouter>
<Routes>
<Route path="/" element={<PlatformPage />}>
<Route index element={<Navigate to="/projects" replace />} />
<Route path="projects" element={<ProjectsPage />} />
<Route path="projects/:projectId" element={<CanvasRoute />} />
</Route>
</Routes>
</BrowserRouter>
</ToastProvider>
</ThemeProvider>
</React.StrictMode>
)