refactor(home): move page content into per-language YAML sections
All visible text, lists, image refs, and CTAs for the home page now live in en/index.md and es/index.md as a typed `sections:` frontmatter array. HomePage.astro is reduced to a thin router; each section type is rendered by a dedicated component in src/components/home/. Adds .no-balance utility class to suppress text-wrap: balance on the commitments heading. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
ef13d4a6e6
commit
c2b49e66d9
18 files changed
+570
-438
No files matched your search
@@ -0,0 +1,96 @@
|
||||
export interface HeroSection {
|
||||
type: 'hero';
|
||||
eyebrow: string;
|
||||
heading: string;
|
||||
body: string;
|
||||
cta: { label: string; href: string };
|
||||
image: string;
|
||||
imageAlt: string;
|
||||
}
|
||||
|
||||
export interface ServicesIntroSection {
|
||||
type: 'services-intro';
|
||||
servicesHeading: string;
|
||||
services: string[];
|
||||
servicesImage: string;
|
||||
servicesImageAlt: string;
|
||||
commitmentsHeading: string;
|
||||
commitments: string[];
|
||||
commitmentsCta: { label: string; href: string };
|
||||
commitmentsImage: string;
|
||||
commitmentsImageAlt: string;
|
||||
}
|
||||
|
||||
export interface BenefitsSection {
|
||||
type: 'benefits';
|
||||
heading: string;
|
||||
subheading: string;
|
||||
items: string[];
|
||||
videoHref: string;
|
||||
videoImage: string;
|
||||
videoImageAlt: string;
|
||||
}
|
||||
|
||||
export interface SkillsSection {
|
||||
type: 'skills';
|
||||
heading: string;
|
||||
skills: { icon: string; label: string }[];
|
||||
}
|
||||
|
||||
export interface InsuranceSection {
|
||||
type: 'insurance';
|
||||
heading: string;
|
||||
body: string;
|
||||
logos: { file: string; alt: string }[];
|
||||
}
|
||||
|
||||
export interface EsaSection {
|
||||
type: 'esa';
|
||||
heading: string;
|
||||
body: string;
|
||||
image: string;
|
||||
imageAlt: string;
|
||||
}
|
||||
|
||||
export interface FinancialHelpSection {
|
||||
type: 'financial-help';
|
||||
heading: string;
|
||||
body: string;
|
||||
cta: { label: string; href: string };
|
||||
}
|
||||
|
||||
export interface ProcessSection {
|
||||
type: 'process';
|
||||
heading: string;
|
||||
steps: { icon: string; label: string }[];
|
||||
}
|
||||
|
||||
export interface DirectorSection {
|
||||
type: 'director';
|
||||
heading: string;
|
||||
quote: string;
|
||||
photo: string;
|
||||
photoAlt: string;
|
||||
name: string;
|
||||
credentials: string;
|
||||
signature: string;
|
||||
signatureAlt: string;
|
||||
}
|
||||
|
||||
export interface TestimonialsSection {
|
||||
type: 'testimonials';
|
||||
heading: string;
|
||||
featured: { author: string; paragraphs: string[] };
|
||||
}
|
||||
|
||||
export type HomeSection =
|
||||
| HeroSection
|
||||
| ServicesIntroSection
|
||||
| BenefitsSection
|
||||
| SkillsSection
|
||||
| InsuranceSection
|
||||
| EsaSection
|
||||
| FinancialHelpSection
|
||||
| ProcessSection
|
||||
| DirectorSection
|
||||
| TestimonialsSection;
|
||||
Reference in new issue
Block a user