From 614eded6b4fff87402a67510a2848ea2b7ec674c Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Thu, 11 Jun 2026 16:39:28 +0000 Subject: [PATCH] feat: add calendly booking links --- frontend/src/coachingSite.ts | 14 +++++++--- frontend/src/components/BookingLink.tsx | 30 ++++++++++++++++++++++ frontend/src/components/PublicSiteNav.tsx | 9 ++++--- frontend/src/pages/about.tsx | 14 ++++++---- frontend/src/pages/index.tsx | 31 ++++++++++++++--------- frontend/src/pages/intake.tsx | 16 ++++++++++++ frontend/src/pages/services.tsx | 12 ++++++--- 7 files changed, 98 insertions(+), 28 deletions(-) create mode 100644 frontend/src/components/BookingLink.tsx diff --git a/frontend/src/coachingSite.ts b/frontend/src/coachingSite.ts index e2db955..5b6f359 100644 --- a/frontend/src/coachingSite.ts +++ b/frontend/src/coachingSite.ts @@ -2,6 +2,11 @@ export const publicCoachSite = { workspaceName: 'Coaching SaaS Workspace', footerLine: 'Coaching beyond the session.', assessmentPath: '/intake/?package=leadership-assessment', + calendly: { + assessmentUrl: 'https://calendly.com/your-coach/coaching-assessment', + oneOnOneUrl: 'https://calendly.com/your-coach/one-on-one-coaching-session', + packageConsultUrl: 'https://calendly.com/your-coach/package-consult', + }, socialLinks: [ { label: 'LinkedIn', @@ -46,7 +51,8 @@ export const publicCoachSite = { name: 'Leadership Assessment', price: 'Intro', bookingLabel: 'Book assessment', - bookingPath: '/intake/?package=leadership-assessment', + bookingPath: 'https://calendly.com/your-coach/coaching-assessment', + intakePath: '/intake/?package=leadership-assessment', copy: 'A focused first step for founders and senior leaders who want to clarify the coaching agenda.', items: [ 'intake review', @@ -59,7 +65,8 @@ export const publicCoachSite = { name: 'Founder Coaching', price: 'Monthly', bookingLabel: 'Book monthly coaching', - bookingPath: '/intake/?package=founder-coaching', + bookingPath: 'https://calendly.com/your-coach/one-on-one-coaching-session', + intakePath: '/intake/?package=founder-coaching', copy: 'Ongoing 1:1 coaching with session memory, commitments, resources, and between-session accountability.', items: [ 'two sessions per month', @@ -72,7 +79,8 @@ export const publicCoachSite = { name: 'Executive Operating Rhythm', price: 'Custom', bookingLabel: 'Book package consult', - bookingPath: '/intake/?package=executive-operating-rhythm', + bookingPath: 'https://calendly.com/your-coach/package-consult', + intakePath: '/intake/?package=executive-operating-rhythm', copy: 'A deeper engagement for leaders navigating delegation, decision rights, and team operating cadence.', items: [ 'leadership themes', diff --git a/frontend/src/components/BookingLink.tsx b/frontend/src/components/BookingLink.tsx new file mode 100644 index 0000000..54cc68b --- /dev/null +++ b/frontend/src/components/BookingLink.tsx @@ -0,0 +1,30 @@ +import Link from 'next/link'; +import React from 'react'; + +type BookingLinkProps = { + href: string; + children: React.ReactNode; + className?: string; +}; + +export default function BookingLink({ + href, + children, + className, +}: BookingLinkProps) { + const isExternal = /^https?:\/\//.test(href); + + if (isExternal) { + return ( + + {children} + + ); + } + + return ( + + {children} + + ); +} diff --git a/frontend/src/components/PublicSiteNav.tsx b/frontend/src/components/PublicSiteNav.tsx index 5a7253d..31a6b7a 100644 --- a/frontend/src/components/PublicSiteNav.tsx +++ b/frontend/src/components/PublicSiteNav.tsx @@ -1,4 +1,5 @@ import Link from 'next/link'; +import BookingLink from './BookingLink'; import { publicCoachSite } from '../coachingSite'; const links = [ @@ -30,12 +31,12 @@ export default function PublicSiteNav() { ))} - - Start assessment - + Schedule assessment +