Files
frontend/src/types/cms.ts

149 lines
2.5 KiB
TypeScript

export interface HeroContent {
headline: string;
description: string;
ctaButtonText: string;
helperText: string;
}
export interface FeatureItem {
iconPath: string;
title: string;
description: string;
}
export interface FeaturedAgentItem {
id?: string;
name: string;
role: string;
rating: string;
location: string;
experience: string;
imageUrl: string;
}
export interface FeaturesContent {
title: string;
subtitle: string;
features: FeatureItem[];
featuredAgents?: FeaturedAgentItem[];
}
export interface ProfessionalItem {
id?: string;
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 AboutHeroContent {
badge: string;
headline: string;
description: string;
ctaButtonText: string;
bannerImageUrl: string;
bannerOverlayText: string;
}
export interface AboutStatItem {
value: string;
label: string;
}
export interface AboutStatsContent {
stats: AboutStatItem[];
}
export interface AboutFeatureItem {
iconPath: string;
title: string;
description: string;
}
export interface AboutFeaturesContent {
badge: string;
features: AboutFeatureItem[];
}
export interface AboutTeamCard {
title: string;
description: string;
iconPath: string;
}
export interface AboutTeamContent {
title: string;
subtitle: string;
intro: string;
cards: AboutTeamCard[];
}
export interface AboutCtaContent {
title: string;
description: string;
buttonText: string;
}
export interface FaqCategoryItem {
id: string;
label: string;
}
export interface FaqItem {
id: number;
icon: string;
question: string;
answer: string;
category: string;
}
export interface FaqContent {
pageTitle: string;
categories: FaqCategoryItem[];
faqs: FaqItem[];
supportTitle: string;
supportDescription: string;
}
export interface CmsContentRecord {
id: string;
pageSlug: string;
sectionKey: string;
content: unknown;
isPublished: boolean;
createdAt: string;
updatedAt: string;
}