diff --git a/craft/src/state/PageContext.tsx b/craft/src/state/PageContext.tsx index 946b890..b18e3bd 100644 --- a/craft/src/state/PageContext.tsx +++ b/craft/src/state/PageContext.tsx @@ -119,6 +119,13 @@ export function treeToCraftState(tree: SerializedTreeNode): string { // Container), so there was no menu to edit and the empty zone rendered as a // stray band above the page. Seeding a real Navbar gives every new site an // editable menu-with-links out of the box (and removes the empty-header gap). +// +// Item 15: the nav used to link Home/About/Services/Contact, but a brand +// new site only has a "Home" page -- About/Services/Contact were dead links +// on first click. Rather than seeding three empty placeholder pages nobody +// asked for, the simpler default is a nav with just the one real page (Home) +// plus a CTA button, which is inert (`href: '#'`) rather than pointing at a +// page that doesn't exist. Users add pages/links as their site grows. // Node shape matches treeToCraftState() / Craft's actions.deserialize(). export const DEFAULT_HEADER_STATE = JSON.stringify({ ROOT: { @@ -144,9 +151,7 @@ export const DEFAULT_HEADER_STATE = JSON.stringify({ logoFontSize: '20px', links: [ { text: 'Home', href: '/' }, - { text: 'About', href: '#about' }, - { text: 'Services', href: '#services' }, - { text: 'Contact', href: '#contact', isCta: true }, + { text: 'Get Started', href: '#', isCta: true }, ], backgroundColor: '#ffffff', textColor: '#3f3f46', diff --git a/craft/src/state/default-header.test.ts b/craft/src/state/default-header.test.ts index bd325b8..f28bcaf 100644 --- a/craft/src/state/default-header.test.ts +++ b/craft/src/state/default-header.test.ts @@ -23,8 +23,14 @@ describe('DEFAULT_HEADER_STATE seed', () => { const { html } = exportBodyHtml(DEFAULT_HEADER_STATE); expect(html).toContain('