🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
63 lines
1.7 KiB
TypeScript
63 lines
1.7 KiB
TypeScript
import { HeroConfig } from './hero.interfaces';
|
|
import { FeatureGridConfig } from './feature.interfaces';
|
|
import { TestimonialCarouselConfig, StatisticsConfig } from './social-proof.interfaces';
|
|
import { PricingTableConfig, CTASectionConfig } from './conversion.interfaces';
|
|
import { LandingHeaderConfig, FooterConfig } from './navigation.interfaces';
|
|
import { FAQConfig, TeamConfig, TimelineConfig } from './content.interfaces';
|
|
|
|
export interface LandingPageSection {
|
|
id: string;
|
|
component: string;
|
|
configuration: any;
|
|
visible?: boolean;
|
|
order?: number;
|
|
}
|
|
|
|
export interface LandingPageTemplate {
|
|
id: string;
|
|
name: string;
|
|
description: string;
|
|
type: 'saas' | 'product' | 'agency' | 'custom';
|
|
sections: LandingPageSection[];
|
|
theme?: 'light' | 'dark' | 'gradient';
|
|
metadata?: {
|
|
title?: string;
|
|
description?: string;
|
|
keywords?: string[];
|
|
author?: string;
|
|
};
|
|
}
|
|
|
|
// Pre-configured template interfaces
|
|
export interface SaaSTemplateConfig {
|
|
hero: HeroConfig;
|
|
features: FeatureGridConfig;
|
|
socialProof: StatisticsConfig;
|
|
pricing: PricingTableConfig;
|
|
testimonials: TestimonialCarouselConfig;
|
|
faq: FAQConfig;
|
|
cta: CTASectionConfig;
|
|
header?: LandingHeaderConfig;
|
|
footer?: FooterConfig;
|
|
}
|
|
|
|
export interface ProductTemplateConfig {
|
|
hero: HeroConfig;
|
|
features: FeatureGridConfig;
|
|
testimonials: TestimonialCarouselConfig;
|
|
pricing: PricingTableConfig;
|
|
cta: CTASectionConfig;
|
|
header?: LandingHeaderConfig;
|
|
footer?: FooterConfig;
|
|
}
|
|
|
|
export interface AgencyTemplateConfig {
|
|
hero: HeroConfig;
|
|
services: FeatureGridConfig;
|
|
team: TeamConfig;
|
|
timeline: TimelineConfig;
|
|
testimonials: TestimonialCarouselConfig;
|
|
cta: CTASectionConfig;
|
|
header?: LandingHeaderConfig;
|
|
footer?: FooterConfig;
|
|
} |