From 5f736525fb158289a0f59520ebdb0618e60da267 Mon Sep 17 00:00:00 2001 From: jeanGaston Date: Wed, 29 Jul 2026 19:42:48 +0200 Subject: [PATCH] refactor(ui): mobile-first pass on shared chrome + shadcn Field wrapper - Field.tsx re-added composing shadcn Label (no built-in equivalent in this CLI generation). - Bumped Input/Textarea to h-12/rounded-xl/px-4 (44px+ touch targets, matches the app's existing rounded, roomy input style). - Card padding restored to the old flat p-5 sm:p-6 default so most call sites (`children`) don't need CardContent wrapping; CardHeader/Content/Footer still exported for the few structured cards. - Swapped literal pink-500/gray-100 focus/border colors for text-primary / border-border / ring-ring tokens in Footer and CalendarButtons so brand color flows from the CSS vars. - min-h-screen -> min-h-[100dvh] on full-bleed screens (home, create, not-found) so mobile browser chrome doesn't clip content. - Responsive type scale (text-4xl sm:text-5xl md:text-6xl, etc.) instead of a single jump at md:, so headings don't overflow on narrow phones. - Root layout now mounts and uses bg-background/ text-foreground (background token matches the previous gray-50). Co-Authored-By: Claude Sonnet 5 --- src/app/create/page.tsx | 10 +++++----- src/app/globals.css | 3 ++- src/app/layout.tsx | 4 +++- src/app/not-found.tsx | 8 ++++---- src/app/page.tsx | 10 +++++----- src/components/CalendarButtons.tsx | 10 ++++++---- src/components/Footer.tsx | 20 ++++++++++---------- src/components/ui/Card.tsx | 2 +- src/components/ui/field.tsx | 21 +++++++++++++++++++++ src/components/ui/input.tsx | 2 +- src/components/ui/textarea.tsx | 2 +- 11 files changed, 59 insertions(+), 33 deletions(-) create mode 100644 src/components/ui/field.tsx diff --git a/src/app/create/page.tsx b/src/app/create/page.tsx index b6934e7..3e1e627 100644 --- a/src/app/create/page.tsx +++ b/src/app/create/page.tsx @@ -4,12 +4,12 @@ export const metadata = { title: 'Create a proposal, no account needed' }; export default function CreatePage() { return ( -
+
-
-
๐Ÿ’Œ
-

Create your proposal

-

No account needed, you get two private links when you're done.

+
+
๐Ÿ’Œ
+

Create your proposal

+

No account needed, you get two private links when you're done.

diff --git a/src/app/globals.css b/src/app/globals.css index 63b34ee..7a971bb 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -7,7 +7,8 @@ --font-inter: 'Inter', system-ui, sans-serif; --font-poppins: 'Poppins', system-ui, sans-serif; - --background: 0 0% 100%; + /* Matches the app's existing gray-50 page backdrop; cards stay pure white */ + --background: 210 20% 98%; --foreground: 0 0% 3.9%; --card: 0 0% 100%; --card-foreground: 0 0% 3.9%; diff --git a/src/app/layout.tsx b/src/app/layout.tsx index f15febc..028c9b1 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,6 +1,7 @@ import type { Metadata, Viewport } from 'next'; import { Inter, Poppins } from 'next/font/google'; import Footer from '@/components/Footer'; +import { Toaster } from '@/components/ui/sonner'; import './globals.css'; const inter = Inter({ subsets: ['latin'], variable: '--font-inter' }); @@ -35,9 +36,10 @@ export const viewport: Viewport = { export default function RootLayout({ children }: { children: React.ReactNode }) { return ( - +
{children}