From 0ed67eb0f56eab7ea5aeef4e6bb622dd138396a9 Mon Sep 17 00:00:00 2001 From: Li1304553726 <1304553726@qq.com> Date: Tue, 18 Nov 2025 15:26:36 +0800 Subject: [PATCH 1/4] 1 --- app/components/header/Header.tsx | 34 +++++++++ app/components/header/TopNav.tsx | 105 +++++++++++++++++++++++++++ app/{components => }/ui/badge.tsx | 0 app/{components => }/ui/button.tsx | 0 app/{components => }/ui/card.tsx | 0 app/{components => }/ui/carousel.tsx | 0 app/{components => }/ui/dialog.tsx | 0 app/{components => }/ui/input.tsx | 0 app/{components => }/ui/label.tsx | 0 app/{components => }/ui/select.tsx | 0 app/{components => }/ui/sonner.tsx | 0 app/{components => }/ui/table.tsx | 0 12 files changed, 139 insertions(+) create mode 100644 app/components/header/Header.tsx create mode 100644 app/components/header/TopNav.tsx rename app/{components => }/ui/badge.tsx (100%) rename app/{components => }/ui/button.tsx (100%) rename app/{components => }/ui/card.tsx (100%) rename app/{components => }/ui/carousel.tsx (100%) rename app/{components => }/ui/dialog.tsx (100%) rename app/{components => }/ui/input.tsx (100%) rename app/{components => }/ui/label.tsx (100%) rename app/{components => }/ui/select.tsx (100%) rename app/{components => }/ui/sonner.tsx (100%) rename app/{components => }/ui/table.tsx (100%) diff --git a/app/components/header/Header.tsx b/app/components/header/Header.tsx new file mode 100644 index 0000000..a707a6e --- /dev/null +++ b/app/components/header/Header.tsx @@ -0,0 +1,34 @@ +import { useEffect, useState } from "react"; + +export function Header(){ + const [currentTime, setCurrentTime] = useState(new Date()); + + useEffect(() => { + const timer = setInterval(() => { + setCurrentTime(new Date()); + }, 1000); // 每秒更新一次 + + // 清理定时器 + return () => clearInterval(timer); + }, []); + + return ( +
k&11s1Qbz#^!P0LHqGv3IQ`R)SOGTeQfZ;$T$FQ@95
zGH4D%X7h?cJvRpfcICIH391?X&rE-tDqoy5;&J?Px?yaUH6`R3M27m>iO$
zOUqSvXN0bUP(!Thk0d}h*{#!UEEX|kCG9?$&CI<3tA9Stx!
{Wd`D8!c2lvOhHpru1+rKf4#ELHs|~uBq|a&6*OTuB`R!PZ~N&!Zs2o
zH@#IYQoMpXCd1Y}5}B^c^KxzHeUMHRwfbH!N?kqaWKwai&tOv5Rk`<>V8`nMkCA(S
z{$L-mLLXb7MP?fT2E;lmN!r~0`Q*;XJDOs=H25bH=Cl(7`#fZHcT7D^4(=w~2^K$_
zuNLdq78mksZr0CO`hUfAzg`${JdA1?W^}{?)#XxF$8T9)_K%rgkK|L|o}|&buJMEo
zo6f5@%#al2EiptK+jk(YH(}+~2*4+N@41l0pDBGl2@ehRr{#_rKAkUiH=ISHi@Ckc
zE?Lkfql9d+?d1%zj?jI8c9m*j0aB`hhcuwGb&okG7Q&
zR{^aju?R^&FIJ~h=}|kH^&FN
C@gtvoQ+55ede-z+#Y9gpYxIBYuDpv949=t%5@uQv~*%6!lnGUUt4n
zT3YZTvUy{N4h2MzSH?gyS)J%UB{8f6aQTrmn?Vi{!FLV9C%8Kzry(LK+DD9BJOqdo
zgAN8lhrw2-w`r7!If<~+dy4tVS{)jy27^F7blT$X)cP4q@ILuE%-M;rH-w~j6n5!j
z_YIXtHd$5*jwq5x-X)y$nQwO8(GAB2GB5OZdHE*f#L9`Ft@ZBTf@W>gdW&u!IGHB%
zSb{9cao|dN9$EaZy&&bDAT29DDeBEdESEGNv}LOEJ4de6<$E0F&sWdI?qN8r4MqCR
z=g8|^-&m}Ztyk*?b!&QLxgypc40+mgeK(!JJ(i8%CTXmQZDlJrPpq{Ov*#6c^ouKd
zTqk7cTTDQJ;~+xwd08O3x@F!$u-@$W$N^mlw%@@HSo2!BxpV!AQfHNx
~Qd1|izBdxwt
zJiuo9eBqCx&pJXDEfw7W^(2ngm(?z7SpgoSW#;0`^P6L*y82u1*`1y*?)j$Dui^S$
zS9ad@f$~G~aR?DRpw`yQKOTQp(O2Na+(5Iuks|HRj$HB38jZbgW4`u$j;9SxcWZy}
z&O
ly>HKa
z@`a_H0X~G%ISaUDCU7Ae2qm7+8^!p378;cRd6TP+_#{A%L9g3(J6Xm3Tf@W4TiwY-
zb16L=pX>(;x2Y*+^P&3tKK<*RCIS$MQU=Sr9qXHc9WfTRXcsC%$PU_nB43-9#L_3!
zrkvXj#q3dQQsjI@gOF>I68LxtTv@-7+HcH_gVUKKZ__JYqY=*bd~a9rT1pzNehBd3
zrD6H~j#@r$`0Mgs!4y=O7#ojZJ4%9@tYBe!4=#&!laVN6_|5;ge$^)mKa!B;SVRsk
z3_oSM2$|gynRCmJd6cGHgNS<{1&WULoYo$kPIZf3C;4`TZXUoKc}b2U3?YZ|IxdGL
z&
TJ(S-(cD0KFoU>ziZc<=TkU3Z*+?B?vkzmVEH^Fqu$_>`^E6Fz+D@;
zN4}nzAjx#wVp__O(^%&@?oIoyMzt%sr3^h3^odbbwp?YQ_UD#@efsLv?rcaKUCz&w
zT~{=1T+JBn+dr