feat: Integrate CMS to dynamically populate home page sections with dedicated content types and a new service.
This commit is contained in:
67
src/types/cms.ts
Normal file
67
src/types/cms.ts
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user