From d8cd05b2282cf7a644d4d9470cfe21784373f237 Mon Sep 17 00:00:00 2001
From: chenhang
Date: Mon, 13 Jul 2026 18:16:17 +0800
Subject: [PATCH] feat(ui): refine home and private room navigation
Replace the floating bottom navigation with a full-width tab bar. Add splash press feedback and a neutral private room background.
---
.../__tests__/tailwind-components.test.tsx | 29 +++++++
.../core/app-bottom-nav.module.css | 77 ++++++++-----------
.../private-room-screen.module.css | 19 +++--
src/app/private-room/private-room-screen.tsx | 4 +-
.../__tests__/tailwind-components.test.tsx | 3 +
src/app/splash/components/splash-button.tsx | 2 +-
.../splash-latest-message.module.css | 35 ++++++++-
.../components/splash-screen.module.css | 5 +-
src/app/splash/splash-screen.tsx | 8 +-
9 files changed, 120 insertions(+), 62 deletions(-)
diff --git a/src/app/_components/core/__tests__/tailwind-components.test.tsx b/src/app/_components/core/__tests__/tailwind-components.test.tsx
index 2c686720..7348710b 100644
--- a/src/app/_components/core/__tests__/tailwind-components.test.tsx
+++ b/src/app/_components/core/__tests__/tailwind-components.test.tsx
@@ -1,6 +1,7 @@
import { renderToStaticMarkup } from "react-dom/server";
import { describe, expect, it } from "vitest";
+import { AppBottomNav } from "../app-bottom-nav";
import { Checkbox } from "../checkbox";
import { LoadingIndicator } from "../loading-indicator";
import { PageLoadingFallback } from "../page-loading-fallback";
@@ -73,4 +74,32 @@ describe("core Tailwind components", () => {
expect(html).toContain("Content");
});
+ it("renders AppBottomNav themes and active items accessibly", () => {
+ const chatHtml = renderToStaticMarkup(
+ undefined}
+ onPrivateRoomClick={() => undefined}
+ />,
+ );
+ const privateRoomHtml = renderToStaticMarkup(
+ undefined}
+ onPrivateRoomClick={() => undefined}
+ />,
+ );
+
+ expect(chatHtml).toContain('aria-label="Primary navigation"');
+ expect(chatHtml).toMatch(/class="[^"]*dark[^"]*"/);
+ expect(chatHtml).toMatch(
+ /