From 034a365f11e3933ca06953bd9dd2935e26724c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Guti=C3=A9rrez?= <35082514+alezmad@users.noreply.github.com> Date: Sun, 5 Apr 2026 11:36:29 +0100 Subject: [PATCH] fix(web): theme the auth layout with claudemesh design tokens MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Auth routes (/login, /register, /forgot-password, /update-password, /join) were rendering with the default Geist fonts + shadcn neutral palette + turbostarter SVG logos — completely off-brand against the marketing landing. User reported from production. Rewire auth/layout.tsx to: - use --cm-bg / --cm-fg / --cm-clay tokens (dark #141413) - Anthropic Sans for UI, Anthropic Serif for the right-aside tagline - claudemesh wordmark (mesh glyph + serif) in place of Icons.Logo / Icons.LogoText - right aside: mesh glyph + serif tagline "Every Claude Code session, woven into one mesh." + description paragraph, matching the CTA copy from the landing - subtle orange radial glow on the aside for depth Inner form components (BetterAuth password/social buttons) pick up the tokens from globals.css, so the forms look native on the dark layout without per-component rewrites. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/web/src/app/[locale]/auth/layout.tsx | 107 +++++++++++++++++----- 1 file changed, 85 insertions(+), 22 deletions(-) diff --git a/apps/web/src/app/[locale]/auth/layout.tsx b/apps/web/src/app/[locale]/auth/layout.tsx index 426a662..cb880a3 100644 --- a/apps/web/src/app/[locale]/auth/layout.tsx +++ b/apps/web/src/app/[locale]/auth/layout.tsx @@ -1,35 +1,98 @@ -import { getTranslation } from "@turbostarter/i18n/server"; -import { Icons } from "@turbostarter/ui-web/icons"; +import Link from "next/link"; -import { pathsConfig } from "~/config/paths"; -import { TurboLink } from "~/modules/common/turbo-link"; - -export default async function AuthLayout({ +export default function AuthLayout({ children, }: { children: React.ReactNode; }) { - const { t } = await getTranslation({ ns: "common" }); - return ( -
-
-
- +
+
+ - - - + + + + + + + + + claudemesh + +
-
- {children} -
+
{children}
- +
); }