From f447b13c83cbeb79a7b26e8b79d3660c3f5e1e11 Mon Sep 17 00:00:00 2001 From: Ronni Baslund Date: Fri, 5 Jun 2026 22:09:36 +0200 Subject: [PATCH] feat(website): brand guide page + NodeMark/NodeLockup variants Replace the /brand stub with the full Brand Guide from the Claude Design handoff (cover, logo, color, typography, voice, applications), rendered inside the site layout, English-only, with illustrative copy adapted to Dezky's real EU-sovereign voice. Extend NodeMark with a `variant` (donut/solid/outline) and NodeLockup with a separate `wordmark` colour so the mark reads correctly on dark surfaces. Drops the old brand stub copy. --- apps/website/components/brand/NodeLockup.vue | 6 +- apps/website/components/brand/NodeMark.vue | 43 +- apps/website/pages/brand.vue | 502 ++++++++++++++++++- apps/website/utils/landingCopy.ts | 32 -- 4 files changed, 519 insertions(+), 64 deletions(-) diff --git a/apps/website/components/brand/NodeLockup.vue b/apps/website/components/brand/NodeLockup.vue index 05a70ac..a9be868 100644 --- a/apps/website/components/brand/NodeLockup.vue +++ b/apps/website/components/brand/NodeLockup.vue @@ -7,6 +7,10 @@ const props = withDefaults(defineProps<{ scale?: number fg?: string accent?: string + // Wordmark colour. Defaults to `fg`; pass separately when the squircle and + // the wordmark need different colours (e.g. on a dark surface the squircle is + // carbon — invisible — while the wordmark must stay light). + wordmark?: string }>(), { scale: 1, fg: C.carbon, @@ -22,7 +26,7 @@ const props = withDefaults(defineProps<{ fontWeight: 600, fontSize: `${56 * scale * 0.78}px`, letterSpacing: '-0.04em', - color: fg, + color: wordmark || fg, lineHeight: 0.9, }">dezky diff --git a/apps/website/components/brand/NodeMark.vue b/apps/website/components/brand/NodeMark.vue index ff76960..4d8d868 100644 --- a/apps/website/components/brand/NodeMark.vue +++ b/apps/website/components/brand/NodeMark.vue @@ -1,18 +1,23 @@ diff --git a/apps/website/utils/landingCopy.ts b/apps/website/utils/landingCopy.ts index 875ebd4..00e77b8 100644 --- a/apps/website/utils/landingCopy.ts +++ b/apps/website/utils/landingCopy.ts @@ -156,22 +156,6 @@ export const COPY = { addressLabel: 'Adresse', cvrLabel: 'CVR', }, - brand: { - label: 'brand', - title: 'Brug vores brand korrekt.', - intro: 'Retningslinjer for navn, logo og farver. Skal du bruge logofiler, så kontakt os.', - rules: [ - ['Navn', 'Altid “Dezky” — ét ord, stort begyndelsesbogstav. Aldrig i versaler i løbende tekst.'], - ['Logo', 'Brug node-mærket med tilstrækkelig luft omkring. Forvræng, rotér eller omfarv det ikke.'], - ['Tone', 'Direkte, teknisk, uden hype. Vi sælger ikke med frygt — vi forklarer.'], - ], - colorsLabel: 'Farver', - colors: [ - ['Signal', '#D4FF3A'], - ['Carbon', '#0A0A0A'], - ['Bone', '#F4F3EE'], - ], - }, roadmap: { label: 'roadmap', title: 'Hvor vi er på vej hen.', @@ -443,22 +427,6 @@ export const COPY = { addressLabel: 'Address', cvrLabel: 'Company reg.', }, - brand: { - label: 'brand', - title: 'Use our brand correctly.', - intro: 'Guidelines for the name, logo and colours. Need logo files? Get in touch.', - rules: [ - ['Name', 'Always “Dezky” — one word, capital D. Never all caps in running text.'], - ['Logo', 'Use the node mark with enough clear space. Don\'t distort, rotate or recolour it.'], - ['Tone', 'Direct, technical, no hype. We don\'t sell with fear — we explain.'], - ], - colorsLabel: 'Colours', - colors: [ - ['Signal', '#D4FF3A'], - ['Carbon', '#0A0A0A'], - ['Bone', '#F4F3EE'], - ], - }, roadmap: { label: 'roadmap', title: 'Where we\'re headed.',