From b8596eaceed63053b6f162ebc09123cb60c1adc9 Mon Sep 17 00:00:00 2001 From: Harkamal Randhawa Date: Sun, 24 May 2026 05:21:56 -0600 Subject: [PATCH] Improve readability and randomize guest landing pet. Pair Share Tech Mono body text with Press Start 2P display accents, and show a randomized dressed pixel character for signed-out homepage previews. --- app/globals.css | 17 ++- app/layout.tsx | 11 +- components/landing/landing-pet-preview.tsx | 3 +- components/layout/app-nav.tsx | 2 +- components/layout/app-page-header.tsx | 4 +- components/layout/auth-bottom-nav.tsx | 2 +- components/layout/habit-brand.tsx | 2 +- components/layout/site-header.tsx | 2 +- components/ui/badge.tsx | 2 +- components/ui/button.tsx | 2 +- components/ui/card.tsx | 4 +- components/ui/input.tsx | 2 +- components/ui/label.tsx | 2 +- lib/landing-random-pet.ts | 117 +++++++++++++++++++++ tailwind.config.ts | 2 +- 15 files changed, 153 insertions(+), 21 deletions(-) create mode 100644 lib/landing-random-pet.ts diff --git a/app/globals.css b/app/globals.css index 7e082c4..4e9a4d4 100644 --- a/app/globals.css +++ b/app/globals.css @@ -19,7 +19,7 @@ --secondary: 198 100% 45%; --secondary-foreground: 252 38% 10%; --muted: 252 24% 20%; - --muted-foreground: 52 40% 68%; + --muted-foreground: 52 35% 74%; --accent: 142 70% 45%; --accent-foreground: 252 38% 10%; --destructive: 0 84% 58%; @@ -51,7 +51,7 @@ --secondary: 198 100% 45%; --secondary-foreground: 252 38% 10%; --muted: 252 24% 20%; - --muted-foreground: 52 40% 68%; + --muted-foreground: 52 35% 74%; --accent: 142 70% 45%; --accent-foreground: 252 38% 10%; --destructive: 0 84% 58%; @@ -73,9 +73,16 @@ } body { - @apply overflow-x-hidden bg-background text-foreground text-xs leading-relaxed; - font-family: var(--font-pixel), monospace; - image-rendering: pixelated; + @apply overflow-x-hidden bg-background text-foreground text-sm leading-relaxed; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + @apply font-pixel leading-snug; } } diff --git a/app/layout.tsx b/app/layout.tsx index bee97d9..99e3326 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,5 +1,5 @@ import type { Metadata, Viewport } from "next"; -import { Press_Start_2P } from "next/font/google"; +import { Press_Start_2P, Share_Tech_Mono } from "next/font/google"; import { ThemeProvider } from "next-themes"; import { GlobalBottomNav } from "@/components/layout/global-bottom-nav"; @@ -30,6 +30,13 @@ const pixelFont = Press_Start_2P({ display: "swap", }); +const bodyFont = Share_Tech_Mono({ + weight: "400", + subsets: ["latin"], + variable: "--font-body", + display: "swap", +}); + export default function RootLayout({ children, }: Readonly<{ @@ -37,7 +44,7 @@ export default function RootLayout({ }>) { return ( - + (function AppNav( onPointerEnter={() => prefetchByRoute[item.href]?.()} onFocus={() => prefetchByRoute[item.href]?.()} className={cn( - "bottom-nav-item flex flex-col items-center justify-center gap-1.5 overflow-hidden border-2 px-1 py-2 text-[9px] leading-none transition-colors duration-75", + "bottom-nav-item flex flex-col items-center justify-center gap-1.5 overflow-hidden border-2 px-1 py-2 font-pixel text-[8px] leading-none transition-colors duration-75", isActive ? "border-secondary bg-primary text-primary-foreground shadow-[var(--retro-shadow-sm)]" : "border-transparent text-muted-foreground hover:border-border hover:bg-muted hover:text-foreground", diff --git a/components/layout/app-page-header.tsx b/components/layout/app-page-header.tsx index 2dac165..37ed7f1 100644 --- a/components/layout/app-page-header.tsx +++ b/components/layout/app-page-header.tsx @@ -16,9 +16,9 @@ export function AppPageHeader({ {eyebrow}

) : null} -

{title}

+

{title}

{description ? ( -

+

{description}

) : null} diff --git a/components/layout/auth-bottom-nav.tsx b/components/layout/auth-bottom-nav.tsx index 637f7ed..1969ef8 100644 --- a/components/layout/auth-bottom-nav.tsx +++ b/components/layout/auth-bottom-nav.tsx @@ -28,7 +28,7 @@ export function AuthBottomNav() { key={item.href} href={item.href} className={cn( - "flex flex-col items-center gap-1 rounded-lg px-1 py-2 text-[9px] font-medium leading-tight transition-colors", + "flex flex-col items-center gap-1 rounded-lg px-1 py-2 font-pixel text-[8px] font-normal leading-tight transition-colors", isActive ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground", diff --git a/components/layout/habit-brand.tsx b/components/layout/habit-brand.tsx index 8d6c942..6288bbf 100644 --- a/components/layout/habit-brand.tsx +++ b/components/layout/habit-brand.tsx @@ -41,7 +41,7 @@ export function HabitBrand({ /> ) : (