diff --git a/app/globals.css b/app/globals.css index 941d607..baa80b3 100644 --- a/app/globals.css +++ b/app/globals.css @@ -172,4 +172,20 @@ .touch-target { @apply flex items-center justify-center min-w-[44px] min-h-[44px] -m-2; } + + /* Tablet-specific responsive adjustments (768px-1024px) */ + @media (min-width: 768px) and (max-width: 1024px) { + .page-header-row { + @apply px-6 py-4; + } + + .page-title { + @apply text-xl; + } + + /* Increase touch targets for tablet */ + .touch-target { + @apply min-w-[48px] min-h-[48px]; + } + } } diff --git a/app/me/page.tsx b/app/me/page.tsx index 98c5cd9..3018e2e 100644 --- a/app/me/page.tsx +++ b/app/me/page.tsx @@ -235,15 +235,15 @@ export default function MePage() { return ( <>
-
-
-
{initials}
+
+
+
{initials}
-

{displayName}

- +

{displayName}

+
-

{user?.email || user?.phone_e164 || '—'}

+

{user?.email || user?.phone_e164 || '—'}

@@ -251,36 +251,36 @@ export default function MePage() {
-
-
-

Total Balance

-

+

+
+

Total Balance

+

{balanceLoading ? '...' : `ACBU ${formatAmount(balance)}`}

-
-

This Month

-

+

+

This Month

+

{loading ? '...' : monthlyNet === null ? '—' : `${monthlyNetPositive ? '+' : '-'}ACBU ${formatAmount(Math.abs(monthlyNet))}`}

{menuItems.map((section) => ( -
-

{section.section}

-
+
+

{section.section}

+
{section.items.map((item) => { const Icon = item.icon; return ( -
-
- - {item.title} +
+
+ + {item.title}
- +
diff --git a/app/page.tsx b/app/page.tsx index fdb2ac0..a9be39c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -182,14 +182,14 @@ export default function Home() { return ( <>
-
+
-

Welcome back

-

Manage your finances

+

Welcome back

+

Manage your finances

-
-
+
+
@@ -197,22 +197,22 @@ export default function Home() {
-
+
-
-
-

+

+
+

ACBU

-

Wallet balance

-

+

Wallet balance

+

{!showBalance ? '••••••' : balanceLoading @@ -220,23 +220,23 @@ export default function Home() { : `ACBU ${formatAmount(balance)}`}

{!showBalance ? ( -

••••••

+

••••••

) : balanceLoading || ratesLoading ? ( -

+

) : acbuUsd != null ? ( -

+

≈ USD {formatAmount(acbuUsd, 2)}

) : ( -

≈ USD —

+

≈ USD —

)}
-

+

Fiat

-

Simulated · USD equivalent

-
+

Simulated · USD equivalent

+
{!showBalance ? (

••••••

) : fiatLoading || ratesLoading ? ( @@ -248,12 +248,12 @@ export default function Home() { {formatAmount(fiatUsdInfo?.usd ?? 0, 2)}

{fiatUsdInfo?.partial && fiatAccounts.length > 0 && ( -

+

Some currencies missing a rate

)} {!fiatAccounts.length && ( -

+

Add demo funds @@ -265,31 +265,31 @@ export default function Home() {

{showBalance && balanceError && ( -
+
{balanceError}
)}
-
+
{features.map((feature) => { const Icon = feature.icon; return ( -
- -

{feature.title}

-

{feature.description}

+
+ +

{feature.title}

+

{feature.description}

); })}
-
+
-

Recent Activity

- View all +

Recent Activity

+ View all
{error &&

{error}

} {loading ? ( @@ -305,12 +305,12 @@ export default function Home() { } /> ) : ( -
+
{transactions.slice(0, 5).map((t) => ( - +
-

+

{t.type === 'mint' ? 'Mint' : t.type === 'burn' ? 'Burn' : 'Transfer'}

-

{formatDate(t.created_at)}

+

{formatDate(t.created_at)}

-
-

+

+

{t.type === 'burn' ? `- ACBU ${formatAcbu(t.acbu_amount_burned ?? t.amount_acbu)}` : t.type === 'mint' @@ -347,7 +347,7 @@ export default function Home() { : '—' : `ACBU ${formatAcbu(t.amount_acbu)}`}

- {t.status} + {t.status}
))} diff --git a/components/app-layout.tsx b/components/app-layout.tsx index 7767c05..b2d2453 100644 --- a/components/app-layout.tsx +++ b/components/app-layout.tsx @@ -15,7 +15,7 @@ export function AppLayout({ children }: AppLayoutProps) { return (
-
{children}
+
{children}
{!isPublic && }
); diff --git a/components/layout/page-container.tsx b/components/layout/page-container.tsx index 63f519e..e5dbc3e 100644 --- a/components/layout/page-container.tsx +++ b/components/layout/page-container.tsx @@ -8,11 +8,14 @@ interface PageContainerProps { } /** - * Mobile-first content wrapper: px-4 py-4 pb-24 so content is never hidden under the bottom nav (h-20). + * Mobile-first content wrapper with tablet-optimized spacing. + * - Mobile (< 768px): px-4 py-4 pb-24 + * - Tablet (768px-1024px): px-6 py-6 pb-28 with max-width constraint + * - Desktop (> 1024px): Inherits tablet styles */ export function PageContainer({ children, className = '' }: PageContainerProps) { return ( -
+
{children}
); diff --git a/components/mobile-nav.tsx b/components/mobile-nav.tsx index 3de01ac..4b61ff2 100644 --- a/components/mobile-nav.tsx +++ b/components/mobile-nav.tsx @@ -52,12 +52,12 @@ export function MobileNav() { return (