diff --git a/.claude/launch.json b/.claude/launch.json
index c92f22f0..544754b0 100644
--- a/.claude/launch.json
+++ b/.claude/launch.json
@@ -9,9 +9,9 @@
"packages/cli/src/index.ts",
"dev",
"examples/basic-app",
- "--port=3410"
+ "--port=3520"
],
- "port": 3410
+ "port": 3520
},
{
"name": "component-showcase",
diff --git a/examples/basic-app/app/layouts/public.wrn b/examples/basic-app/app/layouts/public.wrn
index 45f7b755..55a1f9c3 100644
--- a/examples/basic-app/app/layouts/public.wrn
+++ b/examples/basic-app/app/layouts/public.wrn
@@ -11,6 +11,7 @@ component PublicLayout {
{t:nav.chat}
{t:nav.dashboard}
{t:nav.about}
+ {t:nav.navigation}
diff --git a/examples/basic-app/app/locales/en.json b/examples/basic-app/app/locales/en.json
index c1fe6edc..2886371e 100644
--- a/examples/basic-app/app/locales/en.json
+++ b/examples/basic-app/app/locales/en.json
@@ -4,7 +4,8 @@
"ui": "UI",
"chat": "Chat",
"dashboard": "Dashboard",
- "about": "About"
+ "about": "About",
+ "navigation": "Navigation"
},
"home": {
"title": "Hello from WrNexus",
diff --git a/examples/basic-app/app/locales/es.json b/examples/basic-app/app/locales/es.json
index a319b016..64d20a5d 100644
--- a/examples/basic-app/app/locales/es.json
+++ b/examples/basic-app/app/locales/es.json
@@ -4,7 +4,8 @@
"ui": "UI",
"chat": "Chat",
"dashboard": "Panel",
- "about": "Acerca de"
+ "about": "Acerca de",
+ "navigation": "Navegación"
},
"home": {
"title": "Hola desde WrNexus",
diff --git a/examples/basic-app/app/pages/navigation.wrn b/examples/basic-app/app/pages/navigation.wrn
index 368ae996..aafe1057 100644
--- a/examples/basic-app/app/pages/navigation.wrn
+++ b/examples/basic-app/app/pages/navigation.wrn
@@ -17,6 +17,8 @@
// attribute would put a brace at the start of the value, which the compiler
// reads as an interpolation.
page NavigationTour {
+ layout = "public"
+
seo {
title = "Navigation tour"
description = "Every navigation component working together in one shell."
diff --git a/examples/basic-app/app/styles/global.css b/examples/basic-app/app/styles/global.css
index 21912387..28eff61f 100644
--- a/examples/basic-app/app/styles/global.css
+++ b/examples/basic-app/app/styles/global.css
@@ -13,12 +13,21 @@
/* --- App theme layered on top of Tailwind's utilities & preflight --- */
+/*
+ * The app palette is derived from the theme tokens rather than fixed.
+ *
+ * These used to be hardcoded dark values. Wire UI surfaces follow the theme,
+ * so switching to light turned the cards light while this text stayed light
+ * too -- the sign-in form rendered at a contrast of about 1.1 and was
+ * unreadable. Anything an app hardcodes here has to be themed as well, or it
+ * only ever looks right in one mode.
+ */
:root {
- --bg: #0b1020;
- --surface: #141a30;
- --text: #e7ecff;
- --muted: #9aa6d0;
- --brand: #6c8cff;
+ --bg: var(--wire-color-bg);
+ --surface: var(--wire-color-surface);
+ --text: var(--wire-color-text);
+ --muted: var(--wire-color-text-muted);
+ --brand: var(--wire-color-primary);
--radius: 10px;
--maxw: 720px;
}
@@ -36,7 +45,12 @@ body {
Roboto,
sans-serif;
color: var(--text);
- background: radial-gradient(1200px 600px at 50% -10%, #1b2750 0%, var(--bg) 60%);
+ /* Tinted from the primary token so the wash follows the theme too. */
+ background: radial-gradient(
+ 1200px 600px at 50% -10%,
+ color-mix(in srgb, var(--wire-color-primary) 18%, var(--bg)) 0%,
+ var(--bg) 60%
+ );
background-color: var(--bg);
}