From 13c3f196913039214c21686dd1fe77af9467fe89 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 16 Oct 2026 17:46:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E4=B8=9A=E7=BA=A7=E8=AE=BE?= =?UTF-8?q?=E8=AE=A1=E7=B3=BB=E7=BB=9F=20v3=20=E2=80=94=20=E9=AB=98?= =?UTF-8?q?=E7=BA=A7=E4=BE=A7=E8=BE=B9=E6=A0=8F/=E6=8E=92=E7=89=88/?= =?UTF-8?q?=E9=98=B4=E5=BD=B1/=E5=8A=A8=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/components/layout/Sidebar.tsx | 109 +++++++------ app/src/styles/theme.css | 154 +++++++++--------- ...Page-ClIPdF4z.js => AdminPage-BCLeFmy-.js} | 6 +- ...-DC1gT7qn.js => DashboardPage-B1TGm185.js} | 2 +- ...age-BmoYUJD_.js => GradesPage-j4ob8j55.js} | 2 +- ...ge-CTX0nlqD.js => RecordsPage-D-YF-M50.js} | 2 +- ...e-BsQyCuJM.js => TaxonomyPage-Cj_XbHTs.js} | 2 +- ...Page-C-KPWLzB.js => TypesPage-BWjkusvK.js} | 2 +- .../{card-DtBTl1yb.js => card-D7onCjYF.js} | 2 +- sync-server/www/assets/index-CY5BkXpe.css | 1 + sync-server/www/assets/index-D8_RHt64.css | 1 - .../{index-BPypTgG9.js => index-DfnNvRlO.js} | 107 ++++++------ ...Chart-ODBxrUQE.js => useChart-Dn2X0nrY.js} | 2 +- sync-server/www/index.html | 4 +- 14 files changed, 203 insertions(+), 193 deletions(-) rename sync-server/www/assets/{AdminPage-ClIPdF4z.js => AdminPage-BCLeFmy-.js} (93%) rename sync-server/www/assets/{DashboardPage-DC1gT7qn.js => DashboardPage-B1TGm185.js} (94%) rename sync-server/www/assets/{GradesPage-BmoYUJD_.js => GradesPage-j4ob8j55.js} (99%) rename sync-server/www/assets/{RecordsPage-CTX0nlqD.js => RecordsPage-D-YF-M50.js} (99%) rename sync-server/www/assets/{TaxonomyPage-BsQyCuJM.js => TaxonomyPage-Cj_XbHTs.js} (97%) rename sync-server/www/assets/{TypesPage-C-KPWLzB.js => TypesPage-BWjkusvK.js} (98%) rename sync-server/www/assets/{card-DtBTl1yb.js => card-D7onCjYF.js} (89%) create mode 100644 sync-server/www/assets/index-CY5BkXpe.css delete mode 100644 sync-server/www/assets/index-D8_RHt64.css rename sync-server/www/assets/{index-BPypTgG9.js => index-DfnNvRlO.js} (77%) rename sync-server/www/assets/{useChart-ODBxrUQE.js => useChart-Dn2X0nrY.js} (92%) diff --git a/app/src/components/layout/Sidebar.tsx b/app/src/components/layout/Sidebar.tsx index 26d5c0b..7c9ae4b 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, ShieldCheck, Cloud } from 'lucide-react'; +import { CalendarDays, Rows3, ChartColumn, GraduationCap, Shapes, SlidersHorizontal, LogIn, LogOut, ShieldCheck, Cloud } from 'lucide-react'; import { serverMe, clearToken, getToken } from '@/lib/api'; import { LoginDialog } from '@/components/auth/LoginDialog'; import { cn } from '@/lib/utils'; @@ -13,25 +13,26 @@ const NAV = [ { to: '/timeline', label: '时间线', icon: CalendarDays }, { to: '/records', label: '记录', icon: Rows3 }, { to: '/grades', label: '成绩', icon: GraduationCap }, - { to: '/dashboard', label: '统计', icon: ChartColumn } - ] + { to: '/dashboard', label: '统计', icon: ChartColumn }, + ], }, { section: '配置', items: [ { to: '/admin', label: '管理', icon: ShieldCheck }, { to: '/types', label: '记录类型', icon: Shapes }, - { to: '/taxonomy', label: '字典与维度', icon: SlidersHorizontal } - ] - } + { to: '/taxonomy', label: '字典与维度', icon: SlidersHorizontal }, + ], + }, ]; function LogoMark() { return ( - - - - + + + + + ); } @@ -42,47 +43,51 @@ export function Sidebar({ open, onClose }: { open: boolean; onClose: () => void queryKey: ['me'], queryFn: () => serverMe(), enabled: !!getToken(), - retry: 0 + retry: 0, }); - const [loginOpen, setLoginOpen] = useState(false); const me = meQ.data ?? null; + const [loginOpen, setLoginOpen] = useState(false); return (
+ setLoginOpen(false)} defaultUrl='https://footpr.linyux.cn' /> + + {/* Logo */} +
-
足迹
-
FOOTPRINTS
+
足迹
+
FOOTPRINTS
- setLoginOpen(false)} defaultUrl={'https://footpr.linyux.cn'} /> -