feat(ui): add mobile-responsive layout with hamburger drawer

Adds MobileHeader with hamburger button (left-aligned) that opens a
slide-in sidebar drawer on mobile. Desktop layout is unchanged. All
hardcoded multi-column grids updated with responsive Tailwind breakpoints.

Co-Authored-By: Jack Levy
This commit is contained in:
Jack Levy
2026-02-28 23:58:28 -05:00
parent a8bc20e187
commit 37339d6950
8 changed files with 57 additions and 14 deletions

View File

@@ -78,8 +78,8 @@ export default function BillDetailPage({ params }: { params: Promise<{ id: strin
</div>
{/* Content grid */}
<div className="grid grid-cols-3 gap-6">
<div className="col-span-2 space-y-6">
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-6">
<div className="md:col-span-2 space-y-6">
<AIBriefCard brief={bill.latest_brief} />
<ActionTimeline actions={bill.actions} />
</div>

View File

@@ -56,7 +56,7 @@ export default function MembersPage() {
) : (
<>
<div className="text-sm text-muted-foreground">{data?.total ?? 0} members</div>
<div className="grid grid-cols-2 gap-3">
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
{data?.items?.map((member) => (
<div key={member.bioguide_id} className="bg-card border border-border rounded-lg p-4 flex items-start justify-between gap-3">
<div className="flex-1 min-w-0">

View File

@@ -40,8 +40,8 @@ export default function DashboardPage() {
{isLoading ? (
<div className="text-center py-20 text-muted-foreground">Loading dashboard...</div>
) : (
<div className="grid grid-cols-3 gap-8">
<div className="col-span-2 space-y-4">
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 md:gap-8">
<div className="md:col-span-2 space-y-4">
<h2 className="font-semibold flex items-center gap-2">
<BookOpen className="w-4 h-4" />
Your Feed

View File

@@ -119,7 +119,7 @@ export default function SettingsPage() {
</h2>
{stats ? (
<>
<div className="grid grid-cols-3 gap-4">
<div className="grid grid-cols-1 sm:grid-cols-3 gap-4">
<div className="bg-muted/50 rounded-lg p-3 text-center">
<FileText className="w-4 h-4 mx-auto mb-1 text-muted-foreground" />
<div className="text-xl font-bold">{stats.total_bills.toLocaleString()}</div>

View File

@@ -37,7 +37,7 @@ export default function TopicsPage() {
</p>
</div>
<div className="grid grid-cols-2 gap-3">
<div className="grid grid-cols-1 sm:grid-cols-2 gap-3">
{TOPICS.map(({ tag, label, desc }) => (
<div key={tag} className="bg-card border border-border rounded-lg p-4 flex items-start justify-between gap-3">
<div>