feat: Integrate CMS to dynamically populate home page sections with dedicated content types and a new service.

This commit is contained in:
pradeepkumar
2026-02-22 21:52:54 +05:30
parent c5dc139633
commit b235378815
9 changed files with 227 additions and 86 deletions

67
src/types/cms.ts Normal file
View File

@@ -0,0 +1,67 @@
export interface HeroContent {
headline: string;
description: string;
ctaButtonText: string;
helperText: string;
}
export interface FeatureItem {
iconPath: string;
title: string;
description: string;
}
export interface FeaturesContent {
title: string;
subtitle: string;
features: FeatureItem[];
}
export interface ProfessionalItem {
name: string;
subtitle: string;
location: string;
experience: string;
expertise: string[];
imageUrl: string;
}
export interface TopProfessionalsContent {
title: string;
ctaText: string;
ctaButtonText: string;
agents: ProfessionalItem[];
lenders: ProfessionalItem[];
}
export interface TestimonialItem {
rating: number;
title: string;
content: string;
author: string;
role: string;
}
export interface StatItem {
iconPath: string;
boldText: string;
normalText: string;
}
export interface TestimonialsContent {
title: string;
subtitle: string;
ratingInfo: string;
stats: StatItem[];
testimonials: TestimonialItem[];
}
export interface CmsContentRecord {
id: string;
pageSlug: string;
sectionKey: string;
content: unknown;
isPublished: boolean;
createdAt: string;
updatedAt: string;
}