diff --git a/app/src/App.tsx b/app/src/App.tsx index 27d448a..9b4f25b 100644 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -10,6 +10,8 @@ const GradesPage = lazy(() => import('@/pages/grades/GradesPage').then(m => ({ d const TypesPage = lazy(() => import('@/pages/types/TypesPage').then(m => ({ default: m.TypesPage }))); const TaxonomyPage = lazy(() => import('@/pages/taxonomy/TaxonomyPage').then(m => ({ default: m.TaxonomyPage }))); const AdminPage = lazy(() => import('@/pages/admin/AdminPage').then(m => ({ default: m.AdminPage }))); +const ProfilePage = lazy(() => import('@/pages/profile/ProfilePage').then(m => ({ default: m.ProfilePage }))); +const ResumePage = lazy(() => import('@/pages/resume/ResumePage').then(m => ({ default: m.ResumePage }))); function PageLoading() { return
加载中…
; @@ -27,6 +29,8 @@ export default function App() { }>} /> }>} /> }>} /> + }>} /> + }>} /> } /> diff --git a/app/src/components/layout/Header.tsx b/app/src/components/layout/Header.tsx index 3785dad..5ed9e57 100644 --- a/app/src/components/layout/Header.tsx +++ b/app/src/components/layout/Header.tsx @@ -29,7 +29,7 @@ export function Header({ onMenu }: { onMenu?: () => void }) { }; return ( -
+
diff --git a/app/src/components/layout/Sidebar.tsx b/app/src/components/layout/Sidebar.tsx index af471ee..db2caa4 100644 --- a/app/src/components/layout/Sidebar.tsx +++ b/app/src/components/layout/Sidebar.tsx @@ -1,7 +1,7 @@ import { useState } from 'react'; import { NavLink } from 'react-router-dom'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import { CalendarDays, Rows3, ChartColumn, GraduationCap, Shapes, SlidersHorizontal, LogIn, LogOut, ShieldCheck, Cloud } from 'lucide-react'; +import { CalendarDays, Rows3, ChartColumn, GraduationCap, Shapes, SlidersHorizontal, LogIn, LogOut, ShieldCheck, Cloud, User, ScrollText } from 'lucide-react'; import { serverMe, clearToken, getToken } from '@/lib/api'; import { LoginDialog } from '@/components/auth/LoginDialog'; import { cn } from '@/lib/utils'; @@ -16,6 +16,13 @@ const NAV = [ { to: '/dashboard', label: '统计', icon: ChartColumn }, ], }, + { + section: '个人', + items: [ + { to: '/profile', label: '个人信息', icon: User }, + { to: '/resume', label: '我的简历', icon: ScrollText }, + ], + }, { section: '配置', items: [ @@ -52,6 +59,7 @@ export function Sidebar({ open, onClose }: { open: boolean; onClose: () => void return (