From b4017cac06c59f054cd4a56b4d8a755f73ee0cd4 Mon Sep 17 00:00:00 2001 From: NanaKay007 Date: Fri, 30 Jan 2026 20:59:41 -0800 Subject: [PATCH] feat: make app mobile friendly with responsive layout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Navbar: hide text labels on small screens, show only icons - Chat panel: full-screen overlay on mobile ( --- .../components/Calendar/CalendarDetail.tsx | 32 +++++----- app/src/components/Chat/ChatInterface.tsx | 14 ++-- app/src/components/Layout/Layout.tsx | 64 +++++++++++-------- 3 files changed, 61 insertions(+), 49 deletions(-) diff --git a/app/src/components/Calendar/CalendarDetail.tsx b/app/src/components/Calendar/CalendarDetail.tsx index 23a0e08..9baf5a4 100644 --- a/app/src/components/Calendar/CalendarDetail.tsx +++ b/app/src/components/Calendar/CalendarDetail.tsx @@ -347,15 +347,15 @@ function WeekView({ return (
{/* Day headers */} -
+
{/* gutter */} {days.map((d, i) => { const today = isToday(d); return ( -
-
{DAY_NAMES[i]}
+
+
{DAY_NAMES[i]}
@@ -368,13 +368,13 @@ function WeekView({ {/* Time grid */}
-
+
{/* Time labels */}
{HOURS.map((hour) => (
{hour > 0 && ( - + {hour === 12 ? '12 PM' : hour > 12 ? `${hour - 12} PM` : `${hour} AM`} )} @@ -563,8 +563,8 @@ export function CalendarDetail() { return (
{/* ── Toolbar ── */} -
-
+
+
{/* Back */} {/* Calendar dot + name */} -
+
- {calendar.name} + {calendar.name}
{/* Divider */} -
+
{/* Today button */} @@ -597,7 +597,7 @@ export function CalendarDetail() {
{/* Period label */} -

{headerLabel}

+

{headerLabel}

{/* View switcher */} @@ -623,7 +623,7 @@ export function CalendarDetail() {
-
+
{isLoadingMessages && (
@@ -167,7 +167,7 @@ export function ChatInterface() { className={`flex ${message.role === 'user' ? 'justify-end' : 'justify-start'}`} >
)} -
-
+
+
-
+
{/* Chat toggle button */} {/* User menu */}
)} - + {user?.name}
+
{/* Main content */} -
+
{children}
- {/* Collapsible chat panel */} -
- {chatOpen && ( -
- + {/* Chat panel — full-screen overlay on mobile, side panel on desktop */} + {chatOpen && ( + <> + {/* Mobile overlay backdrop */} +
setChatOpen(false)} + /> +
+ {/* Mobile close button */} + +
+ +
- )} -
+ + )}
);