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:
DeCentN2MadnessandClaude Sonnet 4.6 committed 2026-06-09 12:06:23 -07:00
1 parent ef13d4a6e6
commit c2b49e66d9
18 files changed
+570 -438

No files matched your search

+96
View File
@@ -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;