From 5d91b904f2dbacaef1f68dedb2e12d0b742cbd60 Mon Sep 17 00:00:00 2001 From: yiekheng Date: Sun, 10 May 2026 13:45:01 +0800 Subject: [PATCH] refactor(ui): hide page-title H1 on mobile (header already shows it) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mobile header strip carries the current section title in its centre slot ("Dashboard" / "Reminders" / etc.). The top-level pages were ALSO rendering the same string in an H1 right below — duplicate labelling, wasted vertical space, and the H1 was the first thing that overlapped the header on tight viewports. Switched the four duplicates to `hidden sm:block`: - / (Dashboard) - /reminders - /activity - /settings Desktop sidebar has no per-page title chip, so the H1 stays visible sm: and up. Sub-pages (account detail, group detail, reminder detail, "New Reminder", "Add Account") have dynamic H1s that don't duplicate the header — those keep their visibility unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/web/src/app/activity/page.tsx | 3 ++- apps/web/src/app/page.tsx | 3 ++- apps/web/src/app/reminders/page.tsx | 3 ++- apps/web/src/app/settings/page.tsx | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/apps/web/src/app/activity/page.tsx b/apps/web/src/app/activity/page.tsx index db18c37..8ebc06a 100644 --- a/apps/web/src/app/activity/page.tsx +++ b/apps/web/src/app/activity/page.tsx @@ -184,7 +184,8 @@ export default async function ActivityPage({ searchParams }: PageProps) { return (
-

Activity

+ {/* Hidden on mobile — the top header already shows "Activity". */} +

Activity

{hasAny && !showingArchived && ( diff --git a/apps/web/src/app/page.tsx b/apps/web/src/app/page.tsx index a51da62..5e72b2a 100644 --- a/apps/web/src/app/page.tsx +++ b/apps/web/src/app/page.tsx @@ -155,7 +155,8 @@ export default async function DashboardPage() { return (
-

Dashboard

+ {/* Hidden on mobile — the top header already shows "Dashboard". */} +

Dashboard

{/* Stat cards — click to drill into the corresponding tab */}
diff --git a/apps/web/src/app/reminders/page.tsx b/apps/web/src/app/reminders/page.tsx index 491b6bd..a11379a 100644 --- a/apps/web/src/app/reminders/page.tsx +++ b/apps/web/src/app/reminders/page.tsx @@ -182,7 +182,8 @@ export default async function RemindersPage({ searchParams }: PageProps) { return (
-

Reminders

+ {/* Hidden on mobile — the top header already shows "Reminders". */} +

Reminders