diff --git a/app/(auth)/sign-up/[[...sign-up]]/page.tsx b/app/(auth)/sign-up/[[...sign-up]]/page.tsx index e809dfd..c6f77c0 100644 --- a/app/(auth)/sign-up/[[...sign-up]]/page.tsx +++ b/app/(auth)/sign-up/[[...sign-up]]/page.tsx @@ -23,7 +23,7 @@ function getIntentCopy(intent: string | undefined) { } return { - label: 'Create Account', + label: 'Create account', title: 'Create your CallbackCloser account', detail: 'Create a new owner account here. CallbackCloser handles setup for you, then unlocks your workspace when everything is ready.', diff --git a/app/contact/page.tsx b/app/contact/page.tsx index dc31136..ef0d1a5 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -4,7 +4,7 @@ import { PublicSiteFooter } from '@/components/public-site-footer'; import { PublicSiteNav } from '@/components/public-site-nav'; import { buttonVariants } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; -import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; +import { PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; const outreachInputs = [ 'Business name and service type', @@ -51,8 +51,8 @@ export default function ContactPage() { Start 14-day pilot - - Create account + + Sign in View pricing diff --git a/app/page.tsx b/app/page.tsx index 8133a95..ba1ea03 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -5,7 +5,7 @@ import { PublicSiteNav } from '@/components/public-site-nav'; import { Badge } from '@/components/ui/badge'; import { buttonVariants } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; -import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; +import { PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; const flowSteps = [ { @@ -183,13 +183,10 @@ export default function LandingPage() { {pilotIncludes.map((item) => (

- {item}

))} -
+
Start 14-day pilot - - Create account -
diff --git a/app/pricing/page.tsx b/app/pricing/page.tsx index 7857d1c..2f8f35e 100644 --- a/app/pricing/page.tsx +++ b/app/pricing/page.tsx @@ -5,7 +5,7 @@ import { PublicSiteNav } from '@/components/public-site-nav'; import { Badge } from '@/components/ui/badge'; import { buttonVariants } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; -import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; +import { PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; const pilotFeatures = [ '14-day pilot', @@ -82,8 +82,8 @@ export default function PricingPage() { If you need multi-location rollout help or a custom setup path, contact us before activation so the pilot matches your operating model.
- - Create account + + Start 14-day pilot Talk to us diff --git a/components/public-site-footer.tsx b/components/public-site-footer.tsx index 539de01..0d42b58 100644 --- a/components/public-site-footer.tsx +++ b/components/public-site-footer.tsx @@ -1,18 +1,16 @@ import Link from 'next/link'; -import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; +import { PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; const footerLinks = [ - { href: PUBLIC_CREATE_ACCOUNT_PATH, label: 'Create account' }, - { href: PUBLIC_START_FREE_PILOT_PATH, label: 'Start 14-day pilot' }, - { href: PUBLIC_SIGN_IN_PATH, label: 'Sign in' }, { href: '/pricing', label: 'Pricing' }, - { href: '/demo', label: 'Missed-Call Demo' }, { href: '/contact', label: 'Contact' }, - { href: '/privacy', label: 'Privacy Policy' }, - { href: '/terms', label: 'Terms & Conditions' }, - { href: '/refund', label: 'Refund' }, { href: '/sms-consent', label: 'SMS Consent' }, + { href: '/privacy', label: 'Privacy' }, + { href: '/terms', label: 'Terms' }, + { href: '/refund', label: 'Refund' }, + { href: PUBLIC_SIGN_IN_PATH, label: 'Sign in' }, + { href: PUBLIC_START_FREE_PILOT_PATH, label: 'Start 14-day pilot' }, ]; export function PublicSiteFooter() { @@ -22,7 +20,7 @@ export function PublicSiteFooter() {

CallbackCloser

Stop missed calls from turning into lost jobs with fast follow-up and clearer owner handoff.

-

Try the simulator, start a 14-day pilot, and let CallbackCloser handle the setup before your workspace goes live.

+

Try the simulator, start a 14-day pilot, and review pricing, contact, refund, privacy, terms, and SMS consent before your workspace goes live.

Contact:{' '} diff --git a/components/public-site-nav.tsx b/components/public-site-nav.tsx index 8daa527..e5b74ff 100644 --- a/components/public-site-nav.tsx +++ b/components/public-site-nav.tsx @@ -2,50 +2,45 @@ import Link from 'next/link'; import { Badge } from '@/components/ui/badge'; import { buttonVariants } from '@/components/ui/button'; -import { PUBLIC_CREATE_ACCOUNT_PATH, PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; +import { PUBLIC_SIGN_IN_PATH, PUBLIC_START_FREE_PILOT_PATH } from '@/lib/public-auth-routing'; const primaryLinks = [ - { href: '/demo', label: 'Demo' }, { href: '/simulator', label: 'Simulator' }, { href: '/pricing', label: 'Pricing' }, { href: '/contact', label: 'Contact' }, - { href: '/sms-consent', label: 'SMS Consent' }, - { href: '/privacy', label: 'Privacy' }, - { href: '/terms', label: 'Terms' }, ]; export function PublicSiteNav() { return (

-
-
- - CallbackCloser - - - Built for local service businesses - -
+
+
+
+ + CallbackCloser + + + Built for local service businesses + +
-
- +
+ -
- - Sign in - - - Create account - - - Start 14-day pilot - +
+ + Sign in + + + Start 14-day pilot + +
diff --git a/tests/legal-pages.test.ts b/tests/legal-pages.test.ts index b55c636..aa8d12e 100644 --- a/tests/legal-pages.test.ts +++ b/tests/legal-pages.test.ts @@ -74,25 +74,25 @@ test('public-facing surfaces link to trust and contact routes', () => { assert.match(home, /href: '\/pricing'|href="\/pricing"/); assert.match(home, /href: '\/sms-consent'|href="\/sms-consent"/); - assert.match(home, /PUBLIC_CREATE_ACCOUNT_PATH/); assert.match(home, /PUBLIC_START_FREE_PILOT_PATH/); - assert.match(nav, /href: '\/demo'/); assert.match(nav, /href: '\/pricing'/); assert.match(nav, /href: '\/contact'/); - assert.match(nav, /href: '\/sms-consent'/); - assert.match(nav, /href: '\/privacy'/); - assert.match(nav, /href: '\/terms'/); + assert.match(nav, /href: '\/simulator'/); + assert.doesNotMatch(nav, /href: '\/demo'/); + assert.doesNotMatch(nav, /href: '\/sms-consent'/); + assert.doesNotMatch(nav, /href: '\/privacy'/); + assert.doesNotMatch(nav, /href: '\/terms'/); assert.match(nav, /PUBLIC_SIGN_IN_PATH/); - assert.match(nav, /PUBLIC_CREATE_ACCOUNT_PATH/); assert.match(nav, /PUBLIC_START_FREE_PILOT_PATH/); assert.match(footer, /href: '\/privacy'/); assert.match(footer, /href: '\/terms'/); assert.match(footer, /href: '\/refund'/); assert.match(footer, /href: '\/contact'/); assert.match(footer, /href: '\/sms-consent'/); - assert.match(footer, /PUBLIC_CREATE_ACCOUNT_PATH/); assert.match(footer, /PUBLIC_START_FREE_PILOT_PATH/); assert.match(footer, /PUBLIC_SIGN_IN_PATH/); + assert.doesNotMatch(footer, /PUBLIC_CREATE_ACCOUNT_PATH/); + assert.doesNotMatch(footer, /href: '\/demo'/); assert.match(billing, /href="\/pricing"/); assert.match(billing, /href="\/refund"/); diff --git a/tests/public-auth-routing.test.ts b/tests/public-auth-routing.test.ts index da46354..6eac65c 100644 --- a/tests/public-auth-routing.test.ts +++ b/tests/public-auth-routing.test.ts @@ -61,6 +61,7 @@ test('clerk auth surfaces use explicit path routing and fallback redirects', () assert.match(signUpPage, /hasRequiredValidClerkEnv/); assert.match(signUpPage, /Authentication is temporarily unavailable\./); assert.match(signUpPage, /resolveSignedInAppDestination/); + assert.match(signUpPage, /Start 14-day pilot/); assert.match(signUpPage, /we create your workspace, handle the setup for you/i); assert.match(signUpPage, /do not need to configure the phone or messaging system yourself/i); assert.match(pilotEntryPage, /resolvePublicPilotDestination/); diff --git a/tests/simulator-route.test.ts b/tests/simulator-route.test.ts index 3f7ed18..53c1a5d 100644 --- a/tests/simulator-route.test.ts +++ b/tests/simulator-route.test.ts @@ -7,12 +7,13 @@ function read(relativePath: string) { return readFileSync(path.join(process.cwd(), relativePath), 'utf8'); } -test('homepage and nav point visitors to both the demo and simulator routes', () => { +test('homepage keeps demo access while the top nav stays focused on the simulator route', () => { const home = read('app/page.tsx'); const nav = read('components/public-site-nav.tsx'); assert.match(home, /href="\/demo"/); - assert.match(nav, /href: '\/demo'/); + assert.match(home, /href="\/simulator"/); + assert.doesNotMatch(nav, /href: '\/demo'/); assert.match(nav, /href: '\/simulator'/); });