feat(type): move the brand and console onto Zen

This commit is contained in:
2026-08-23 13:42:43 -07:00
parent 89f1e2bfc1
commit ed16078f4d
8 changed files with 27 additions and 29 deletions
+1 -1
View File
@@ -70,7 +70,7 @@ green `#00A652` for success).
## 3. Typography
### 3.1 Family
Inherits from host org. Default Geist Sans.
Inherits from host org. Default Zen.
### 3.2 Type scale (Tailwind classes)
+2 -2
View File
@@ -35,8 +35,8 @@ $bootnode-muted: #6b7280; // Secondary text
## Typography
- **Primary**: Geist Sans (modern, clean)
- **Monospace**: Geist Mono (code, technical content)
- **Primary**: Zen (modern, clean)
- **Monospace**: Zen Mono (code, technical content)
- **Weights**: 400 (normal), 500 (medium), 600 (semibold), 700 (bold)
## Voice & Tone
+4 -4
View File
@@ -82,8 +82,8 @@ export const hanzoWeb3: BrandConfig = {
},
typography: {
fontFamily: "Geist Sans, system-ui, sans-serif",
monoFamily: "Geist Mono, Consolas, monospace",
fontFamily: "Zen, system-ui, sans-serif",
monoFamily: "Zen Mono, Consolas, monospace",
},
logo: {
@@ -168,8 +168,8 @@ export const luxCloud: BrandConfig = {
},
typography: {
fontFamily: "Geist Sans, system-ui, sans-serif",
monoFamily: "Geist Mono, Consolas, monospace",
fontFamily: "Zen, system-ui, sans-serif",
monoFamily: "Zen Mono, Consolas, monospace",
},
logo: {
+3 -6
View File
@@ -19,12 +19,9 @@
=========================================================================== */
@theme inline {
/* lux.cloud declares "Basel Grotesk" but self-hosts no @font-face, so it
renders the system stack. Geist is already bundled here and is the closest
available neo-grotesque, so it takes that slot: Basel first for the day it
is hosted, Geist as the real-world resolution. */
--font-sans: "Basel Grotesk", var(--font-geist-sans);
--font-mono: var(--font-geist-mono);
/* Zen, from @hanzo/font — the faces are imported in layout.tsx. */
--font-sans: var(--font-zen-sans);
--font-mono: var(--font-zen-mono);
/* Radii, from lux.cloud's measured geometry: 8px side-nav rows, 10px
buttons/inputs, 16px panels and cards. */
+2 -3
View File
@@ -1,12 +1,11 @@
import type { Metadata } from "next"
import { GeistSans } from "geist/font/sans"
import { GeistMono } from "geist/font/mono"
import { ThemeProvider } from "@/components/theme-provider"
import { AuthProvider } from "@/lib/auth"
import { Providers } from "@/app/providers"
import { Toaster } from "@/components/ui/sonner"
import { BrandProvider } from "@/components/brand-provider"
import { getBrand } from "@/lib/brand"
import "@hanzo/font/css"
import "@/app/globals.css"
// `output: "export"` prerenders this at build time, where there is no request
@@ -42,7 +41,7 @@ export const metadata: Metadata = {
export default function RootLayout({ children }: { children: React.ReactNode }) {
return (
<html lang="en" suppressHydrationWarning className={`${GeistSans.variable} ${GeistMono.variable}`}>
<html lang="en" suppressHydrationWarning>
<body className="min-h-screen bg-background font-sans antialiased">
<Providers>
{/* BrandProvider wraps ThemeProvider: the brand owns the default
+1 -1
View File
@@ -13,6 +13,7 @@
"test": "node --test --experimental-strip-types \"lib/**/*.test.ts\""
},
"dependencies": {
"@hanzo/font": "^1.8.0",
"@hanzo/iam": "^0.13.8",
"@luxfi/logo": "^1.0.7",
"@radix-ui/react-accordion": "^1.2.20",
@@ -42,7 +43,6 @@
"cmdk": "^1.1.1",
"d3": "^7.9.0",
"date-fns": "^4.4.0",
"geist": "^1.7.2",
"lucide-react": "^1.26.0",
"next": "^16.2.11",
"next-themes": "^0.4.6",
+12 -12
View File
@@ -8,6 +8,9 @@ importers:
.:
dependencies:
'@hanzo/font':
specifier: ^1.8.0
version: 1.8.0([email protected]([email protected]([email protected]))([email protected]))
'@hanzo/iam':
specifier: ^0.13.8
version: 0.13.8([email protected])
@@ -95,9 +98,6 @@ importers:
date-fns:
specifier: ^4.4.0
version: 4.4.0
geist:
specifier: ^1.7.2
version: 1.7.2([email protected]([email protected]([email protected]))([email protected]))
lucide-react:
specifier: ^1.26.0
version: 1.26.0([email protected])
@@ -178,6 +178,11 @@ packages:
'@floating-ui/[email protected]':
resolution: {integrity: sha512-HpCo8tmWzLVad5s2d19EhAz5zqrrQ6s69qd6moPMQvkOuSwDT1YgRfWSVuc4ennqrgv3OHppiOGMQ7oC13yIww==}
'@hanzo/[email protected]':
resolution: {integrity: sha512-6xP+E37OMTciZqQXf5oTMXdBXYaruimdxyDMkR5wzqrlo5WDdzn4a/bnd+JXLNbdo8y0Y2Qn76zZ0dDjfKGvdQ==}
peerDependencies:
next: '>=13.2.0'
'@hanzo/[email protected]':
resolution: {integrity: sha512-6D4lZSSuTBWV/bof5u5l6VEE0VZhNnpF99svirmHTRko5MsZ5sEd3+7xZ28KH0UL0oquvHwRJ6tkvn+E+f5YuQ==}
engines: {node: '>=18'}
@@ -1364,11 +1369,6 @@ packages:
[email protected]:
resolution: {integrity: sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==}
[email protected]:
resolution: {integrity: sha512-Gu5lDFa3pLRyoBlBPf0QIFHVdWAnpco7fS1bJm41jyLPFoguBgiubseUN2oLXMgqZ7uxAxDoXcHMhCY/fOTTgg==}
peerDependencies:
next: '>=13.2.0'
[email protected]:
resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
engines: {node: '>=6'}
@@ -1764,6 +1764,10 @@ snapshots:
'@floating-ui/[email protected]': {}
'@hanzo/[email protected]([email protected]([email protected]([email protected]))([email protected]))':
dependencies:
next: 16.2.11([email protected]([email protected]))([email protected])
'@hanzo/[email protected]([email protected])':
dependencies:
jose: 6.2.4
@@ -2910,10 +2914,6 @@ snapshots:
[email protected]: {}
[email protected]([email protected]([email protected]([email protected]))([email protected])):
dependencies:
next: 16.2.11([email protected]([email protected]))([email protected])
[email protected]: {}
[email protected]: {}
+2
View File
@@ -13,3 +13,5 @@
# must be allowed to run its install script.
allowBuilds:
sharp: true
minimumReleaseAgeExclude:
- '@hanzo/[email protected]'