UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

125 lines (113 loc) 2.72 kB
// User types export interface User { id: string; email: string; name: string; avatar_url?: string; role: "customer" | "front_agent" | "creator"; created_at: string; updated_at: string; } // Section configuration export interface SectionConfig { id: string; section_name: string; is_active: boolean; style_config: Record<string, unknown>; order_index: number; } // Consent management export interface UserConsent { privacy_policy_agreed: boolean; terms_agreed: boolean; marketing_agreed: boolean; agreed_at: string; } // Common component props export interface BaseComponentProps { className?: string; children?: React.ReactNode; } // Auth provider types export interface AuthConfig { supabaseUrl?: string; supabaseAnonKey?: string; nextAuthConfig?: Record<string, unknown>; } // Landing page section props export interface HeroSectionProps extends BaseComponentProps { title?: string; subtitle?: string; ctaText?: string; backgroundImage?: string; onCtaClick?: () => void; ctaHref?: string; ctaTarget?: "_self" | "_blank"; } export interface FeaturesSectionProps extends BaseComponentProps { features?: Array<{ title: string; description: string; icon?: React.ReactNode; }>; } export interface CTASectionProps extends BaseComponentProps { title?: string; subtitle?: string; buttonText?: string; variant?: "primary" | "secondary"; onButtonClick?: () => void; } export interface ProblemSectionProps extends BaseComponentProps { title?: string; subtitle?: string; problems?: Array<{ title: string; description: string; icon?: React.ReactNode; }>; variant?: "grid" | "list"; } export interface TestimonialSectionProps extends BaseComponentProps { title?: string; subtitle?: string; testimonials?: Array<{ content: string; author: string; role?: string; company?: string; avatar?: string; rating?: number; }>; variant?: "cards" | "carousel" | "grid"; } export interface PricingSectionProps extends BaseComponentProps { title?: string; subtitle?: string; plans?: Array<{ name: string; price: string; period?: string; description: string; features: string[]; highlighted?: boolean; buttonText?: string; buttonVariant?: "primary" | "secondary" | "outline"; onButtonClick?: () => void; }>; billingOptions?: Array<{ label: string; value: string; }>; selectedBilling?: string; onBillingChange?: (value: string) => void; } export interface FAQSectionProps extends BaseComponentProps { title?: string; subtitle?: string; faqs?: Array<{ question: string; answer: string; }>; variant?: "accordion" | "grid"; }