feat(ui): replace emoji icons with lucide-react icon components

This commit is contained in:
2026-06-16 16:23:36 +08:00
parent 594682ba6b
commit 5764b3c433
7 changed files with 23 additions and 9498 deletions
+5 -14
View File
@@ -2,15 +2,10 @@
/**
* ChatHeader 顶部栏
*
* 原始 Dart: lib/ui/chat/widgets/chat_header.dart112 行
*
* 两种模式:
* - 游客模式(isGuest=true):渲染 `GuestBanner` 提示注册(点击 → /auth
* - 登录模式(isGuest=false):渲染 `MenuButton`(点击 → push 到 /sidebar
*
* 注意:菜单按钮直接 push 到侧边栏路由,不打开下拉菜单
* Dart 端 `MenuButton(onTap: _goSidebar)` 行为)。
* 图标:lucide-react <Lock />(游客 banner+ <Menu />(菜单按钮
* tree-shakablecurrentColor 继承父 color
*/
import { Lock, Menu } from "lucide-react";
import { useRouter } from "next/navigation";
import { ROUTES } from "@/router/routes";
@@ -33,9 +28,7 @@ export function ChatHeader({ isGuest }: ChatHeaderProps) {
onClick={() => router.push(ROUTES.auth)}
aria-label="Sign up to unlock more features"
>
<span className={styles.guestBannerIcon} aria-hidden="true">
🔒
</span>
<Lock className={styles.guestBannerIcon} size={16} aria-hidden="true" />
<span>Sign up to unlock more features</span>
</button>
</header>
@@ -52,9 +45,7 @@ export function ChatHeader({ isGuest }: ChatHeaderProps) {
onClick={() => router.push(ROUTES.sidebar)}
aria-label="Menu"
>
<span className={styles.menuIcon} aria-hidden="true">
</span>
<Menu className={styles.menuIcon} size={24} aria-hidden="true" />
</button>
</div>
</header>