import { BrowserRouter as Router, Routes, Route } from 'react-router-dom'; import { ProjectList } from './components/ProjectList'; import { ProjectForm } from './components/ProjectForm'; import { ProjectDetails } from './pages/ProjectDetails'; import Models from './pages/Models'; import Navigation from './components/Navigation'; import { useProjectStore } from './store/projectStore'; import { useUIStore } from './store/uiStore'; import { CreateProjectRequest, UpdateProjectRequest } from './types/project'; import "./App.css"; /** * 主应用组件 * 遵循 Tauri 开发规范的应用架构设计 */ function App() { const { createProject, updateProject } = useProjectStore(); const { showCreateProjectModal, showEditProjectModal, editingProject, closeCreateProjectModal, closeEditProjectModal } = useUIStore(); // 处理创建项目 const handleCreateProject = async (data: CreateProjectRequest) => { try { await createProject(data); closeCreateProjectModal(); } catch (error) { console.error('创建项目失败:', error); throw error; } }; // 处理更新项目 const handleUpdateProject = async (data: UpdateProjectRequest) => { if (!editingProject) return; try { await updateProject(editingProject.id, data); closeEditProjectModal(); } catch (error) { console.error('更新项目失败:', error); throw error; } }; return (
{/* 导航栏 */} {/* 主要内容区域 */}
} /> } /> } />
{/* 创建项目模态框 */} {showCreateProjectModal && ( )} {/* 编辑项目模态框 */} {showEditProjectModal && editingProject && ( )}
); } export default App;