diff --git a/.claude/settings.json b/.claude/settings.json index a946f93..af9ba35 100644 --- a/.claude/settings.json +++ b/.claude/settings.json @@ -1,5 +1,6 @@ { "enabledPlugins": { - "doc-detective@doc-detective": true + "doc-detective@doc-detective": true, + "frontend-design@claude-code-plugins": true } } diff --git a/public/site/icons/sparkles.svg b/public/site/icons/sparkles.svg new file mode 100644 index 0000000..b1a0e02 --- /dev/null +++ b/public/site/icons/sparkles.svg @@ -0,0 +1,18 @@ + + + + + + + diff --git a/src/lib/site-navigation.ts b/src/lib/site-navigation.ts index 9af9bf9..774d5d8 100644 --- a/src/lib/site-navigation.ts +++ b/src/lib/site-navigation.ts @@ -15,7 +15,7 @@ export interface TopNavLinkItem extends TopNavBaseItem { export type TopNavItem = TopNavLinkItem; export const TOP_NAV_ITEMS: TopNavItem[] = [ - { section: 'website', href: '/', label: 'Website', icon: 'website' }, + { section: 'website', href: '/', label: 'Home', icon: 'website' }, { section: 'docs', href: '/docs', label: 'Docs', icon: 'docs' }, { section: 'blog', href: '/blog', label: 'Blog', icon: 'blog' }, { section: 'changelog', href: '/changelog', label: 'Changelog', icon: 'changelog' }, diff --git a/src/lib/website-navigation.ts b/src/lib/website-navigation.ts index 5bbe328..5b15b66 100644 --- a/src/lib/website-navigation.ts +++ b/src/lib/website-navigation.ts @@ -4,7 +4,7 @@ export interface WebsiteNavItem { id: WebsitePageId; href: string; label: string; - icon: 'home' | 'video' | 'pricing' | 'meet'; + icon: 'sparkles' | 'video' | 'pricing' | 'meet'; } interface WebsiteSidebarLink { @@ -14,7 +14,7 @@ interface WebsiteSidebarLink { } export const WEBSITE_NAV_ITEMS: WebsiteNavItem[] = [ - { id: 'home', href: '/', label: 'Home', icon: 'home' }, + { id: 'home', href: '/', label: 'Overview', icon: 'sparkles' }, { id: 'demo', href: '/demo', label: 'Demo', icon: 'video' }, { id: 'pricing', href: '/pricing', label: 'Pricing', icon: 'pricing' }, { id: 'meet', href: '/meet', label: 'Meet', icon: 'meet' }, diff --git a/src/styles/custom.css b/src/styles/custom.css index 5833c0e..d66ad14 100644 --- a/src/styles/custom.css +++ b/src/styles/custom.css @@ -369,8 +369,8 @@ starlight-theme-select { opacity: 1; } -.sidebar-content a[data-site-icon='home']::before { - mask-image: url('/site/icons/home.svg'); +.sidebar-content a[data-site-icon='sparkles']::before { + mask-image: url('/site/icons/sparkles.svg'); } .sidebar-content a[data-site-icon='video']::before { diff --git a/tests/smoke/smoke.spec.ts b/tests/smoke/smoke.spec.ts index 90b377a..fb1bd06 100644 --- a/tests/smoke/smoke.spec.ts +++ b/tests/smoke/smoke.spec.ts @@ -114,14 +114,14 @@ test('primary nav keeps canonical routes with free tools tab', async () => { const html = await response.text(); const nav = getPrimaryNav(html); - assertLink(nav, '/', 'Website'); + assertLink(nav, '/', 'Home'); assertLink(nav, '/docs', 'Docs'); assertLink(nav, '/blog', 'Blog'); assertLink(nav, '/changelog', 'Changelog'); assertLink(nav, '/free-tools', 'Free tools'); assertLink(nav, 'https://app.gopromptless.ai', 'Sign in'); - assertLabelOrder(nav, ['Website', 'Docs', 'Blog', 'Changelog', 'Free tools', 'Sign in']); + assertLabelOrder(nav, ['Home', 'Docs', 'Blog', 'Changelog', 'Free tools', 'Sign in']); assert.doesNotMatch(nav, /href="\/blog\/all"/); assert.doesNotMatch(nav, /href="\/changelog\/all"/); }); @@ -138,52 +138,52 @@ test('website/docs/blog/changelog/free tools active state is correct', async () const freeToolsToolHtml = await (await fetch(`${preview.baseUrl}/free-tools/broken-link-report`)).text(); const websiteNav = getPrimaryNav(websiteHtml); - assertActiveLink(websiteNav, '/', 'Website'); + assertActiveLink(websiteNav, '/', 'Home'); assertInactiveLink(websiteNav, '/docs', 'Docs'); assertInactiveLink(websiteNav, '/blog', 'Blog'); assertInactiveLink(websiteNav, '/changelog', 'Changelog'); assertInactiveLink(websiteNav, '/free-tools', 'Free tools'); const demoNav = getPrimaryNav(websiteDemoHtml); - assertActiveLink(demoNav, '/', 'Website'); + assertActiveLink(demoNav, '/', 'Home'); const meetNav = getPrimaryNav(websiteMeetHtml); - assertActiveLink(meetNav, '/', 'Website'); + assertActiveLink(meetNav, '/', 'Home'); const pricingNav = getPrimaryNav(websitePricingHtml); - assertActiveLink(pricingNav, '/', 'Website'); + assertActiveLink(pricingNav, '/', 'Home'); const docsNav = getPrimaryNav(docsHtml); assertActiveLink(docsNav, '/docs', 'Docs'); - assertInactiveLink(docsNav, '/', 'Website'); + assertInactiveLink(docsNav, '/', 'Home'); assertInactiveLink(docsNav, '/blog', 'Blog'); assertInactiveLink(docsNav, '/changelog', 'Changelog'); assertInactiveLink(docsNav, '/free-tools', 'Free tools'); const blogNav = getPrimaryNav(blogHtml); assertActiveLink(blogNav, '/blog', 'Blog'); - assertInactiveLink(blogNav, '/', 'Website'); + assertInactiveLink(blogNav, '/', 'Home'); assertInactiveLink(blogNav, '/docs', 'Docs'); assertInactiveLink(blogNav, '/changelog', 'Changelog'); assertInactiveLink(blogNav, '/free-tools', 'Free tools'); const changelogNav = getPrimaryNav(changelogHtml); assertActiveLink(changelogNav, '/changelog', 'Changelog'); - assertInactiveLink(changelogNav, '/', 'Website'); + assertInactiveLink(changelogNav, '/', 'Home'); assertInactiveLink(changelogNav, '/docs', 'Docs'); assertInactiveLink(changelogNav, '/blog', 'Blog'); assertInactiveLink(changelogNav, '/free-tools', 'Free tools'); const freeToolsIndexNav = getPrimaryNav(freeToolsIndexHtml); assertActiveLink(freeToolsIndexNav, '/free-tools', 'Free tools'); - assertInactiveLink(freeToolsIndexNav, '/', 'Website'); + assertInactiveLink(freeToolsIndexNav, '/', 'Home'); assertInactiveLink(freeToolsIndexNav, '/docs', 'Docs'); assertInactiveLink(freeToolsIndexNav, '/blog', 'Blog'); assertInactiveLink(freeToolsIndexNav, '/changelog', 'Changelog'); const freeToolsToolNav = getPrimaryNav(freeToolsToolHtml); assertActiveLink(freeToolsToolNav, '/free-tools', 'Free tools'); - assertInactiveLink(freeToolsToolNav, '/', 'Website'); + assertInactiveLink(freeToolsToolNav, '/', 'Home'); assertInactiveLink(freeToolsToolNav, '/docs', 'Docs'); assertInactiveLink(freeToolsToolNav, '/blog', 'Blog'); assertInactiveLink(freeToolsToolNav, '/changelog', 'Changelog'); @@ -267,7 +267,7 @@ test('homepage, demo, meet, and pricing render website content', async () => { assert.match(homeHtml, /Demo/); assert.match(homeHtml, /Pricing/); assert.doesNotMatch(homeHtml, /Getting Started/i); - assert.match(homeHtml, /data-site-icon="home"/); + assert.match(homeHtml, /data-site-icon="sparkles"/); assert.match(homeHtml, /data-site-icon="video"/); assert.match(homeHtml, /data-site-icon="pricing"/); assert.match(homeHtml, /data-site-icon="meet"/);