Files
cms-automotivo/types.ts
MMrp89 c0bd6d7e3d feat: Initialize CAR Auto Center project with Vite and React
Sets up the foundational structure for the CAR Auto Center application using Vite and React. Includes project dependencies, basic HTML structure, TypeScript configuration, and initial README content. This commit establishes the project's build tool, core libraries, and essential configuration files.
2026-02-19 16:22:10 -03:00

223 lines
4.0 KiB
TypeScript

export interface NavItem {
label: string;
href: string;
}
export interface Service {
id: number;
title: string;
description: string;
image: string;
}
export interface PromiseItem {
icon: string; // Changed from LucideIcon to string for JSON storage
title: string;
description: string;
}
export interface Package {
name: string;
price: number;
features: string[];
recommended?: boolean;
}
export interface Stat {
label: string;
value: string;
}
export interface Testimonial {
name: string;
role: string;
image: string;
text: string;
stars: number;
}
export interface TeamMember {
name: string;
role: string;
image: string;
}
export interface FaqItem {
question: string;
answer: string;
}
export interface BlogPost {
id: number; // Adicionado ID para roteamento
title: string;
image: string;
excerpt: string;
content: string; // Adicionado conteúdo completo
date: string;
}
export interface SpecialOffer {
id: number;
title: string;
image: string;
price: string;
installment: string;
rating: number;
reviews: number;
specs: {
fuel: string;
grip: string;
noise: string;
};
}
export interface ClientLogo {
name: string;
url: string;
}
export interface WhyChooseItem {
icon: string;
text: string;
}
// Novo Tipo para Antes e Depois
export interface BeforeAfterItem {
id: number;
title: string;
imageBefore: string;
imageAfter: string;
}
export interface GlobalSettings {
siteName: string;
logoUrl: string; // URL for the logo image
faviconUrl: string;
primaryColor: string;
whatsappNumber: string; // Only numbers, e.g., 5511999999999
contactEmail: string; // For form submissions
contactPhoneDisplay: string; // Formatted phone for display
address: string;
social: {
instagram: string;
facebook: string;
twitter: string;
youtube: string;
linkedin: string;
};
}
export interface SectionVisibility {
hero: boolean;
specialOffers: boolean;
about: boolean;
services: boolean;
bigCta: boolean;
packages: boolean;
gallery: boolean;
beforeAfter: boolean; // Nova seção
stats: boolean;
whyChoose: boolean;
testimonials: boolean;
team: boolean;
faq: boolean;
blog: boolean;
contact: boolean;
clients: boolean;
}
// Novos tipos para textos editáveis
export interface SectionTexts {
hero: {
feature1: string;
feature2: string;
feature3: string;
};
specialOffers: {
badge: string;
title: string;
subtitle: string;
};
about: {
subtitle: string;
title: string;
badgeYear: string;
badgeText: string;
};
services: {
subtitle: string;
title: string;
};
packages: {
subtitle: string;
title: string;
};
gallery: {
subtitle: string;
title: string;
};
// Nova seção de textos
beforeAfter: {
subtitle: string;
title: string;
};
whyChoose: {
subtitle: string;
title: string;
};
testimonials: {
subtitle: string;
title: string;
};
team: {
subtitle: string;
title: string;
};
faq: {
subtitle: string;
title: string;
};
blog: {
subtitle: string;
title: string;
};
contact: {
subtitle: string;
title: string;
description: string;
};
bigCta: {
title: string;
subtitle: string;
buttonText: string;
}
}
// Configuração do Header
export interface HeaderConfig {
items: NavItem[];
ctaButton: {
text: string;
url: string; // Se vazio, usa a lógica padrão do WhatsApp
show: boolean;
};
}
// Configuração do Footer
export interface FooterLink {
label: string;
href: string;
}
export interface FooterColumn {
id: string; // Identificador único para ajudar na renderização/edição
title: string;
type: 'custom' | 'services_dynamic' | 'hours'; // Tipo de coluna
links?: FooterLink[]; // Apenas usado se type === 'custom'
}
export interface FooterConfig {
description: string;
columns: FooterColumn[];
bottomLinks: FooterLink[]; // Links de privacidade, termos, etc.
}