v4.0.6 - Simplicity focus

This commit is contained in:
2026-07-04 09:59:57 +12:00
parent bfd96c677f
commit 8eb20813c8
21 changed files with 2410 additions and 5221 deletions
+63
View File
@@ -157,6 +157,68 @@ export interface ServiceDecisionBlock {
footnote?: string;
}
export interface ServiceTrait {
icon: string;
title: string;
body: string;
}
export interface ServiceJoinStep {
title: string;
body: string;
}
export interface ServiceImageBand {
imageUrl: string;
imageAlt: string;
caption: string;
}
export interface ServicePriceNote {
icon: string;
label: string;
}
export interface ServiceAreaStat {
strong: string;
label: string;
}
/**
* v5 "clarity" content: the page-specific copy the shared ServiceClarityPage
* needs so all three service pages run on one component. See docs/v5.md.
*/
/**
* Optional "what it is" lede that opens a service page: a short, self-contained
* definition of the service in Goodwalk's voice. Renders right after the hero.
*/
export interface ServiceDefinition {
eyebrow?: string;
heading: string;
body: string;
}
export interface ServiceClarityContent {
definition?: ServiceDefinition;
diffEyebrow: string;
diffHeading: string;
traits: ServiceTrait[];
stepsEyebrow: string;
stepsHeading: string;
steps: ServiceJoinStep[];
imageBand?: ServiceImageBand;
fitEyebrow?: string;
pricingEyebrow?: string;
pricingTagline?: string;
priceNotes?: ServicePriceNote[];
faqEyebrow?: string;
planLines?: Record<string, string[]>;
testimonialsHeading?: string;
areaTitle?: string;
areaLead?: string;
areaStats?: ServiceAreaStat[];
}
export interface ServicePageContent {
hero: {
eyebrow: string;
@@ -202,6 +264,7 @@ export interface ServicePageContent {
};
testimonialsHeading: string;
booking: BookingContent;
clarity?: ServiceClarityContent;
lastUpdated?: string;
}