metaads-pro/src/config/skins/index.ts

209 lines
9.2 KiB
TypeScript
Raw Normal View History

export type FieldType = 'text' | 'textarea' | 'number';
export interface SkinField {
id: string;
label: string;
placeholder: string;
type: FieldType;
required?: boolean;
}
export interface SkinConfig {
id: string;
name: string;
icon: string; // Emoji for simplicity
themeColor: string; // Tailwind class like 'bg-blue-600'
accentColor: string; // Hex color for AI Prompt context if needed
// Custom form fields that replace the generic ones
fields: SkinField[];
// AI Injection Context
ai_guidelines: {
copy_rules: string;
image_style: string;
};
// Meta Ads Defaults
meta_defaults: {
objective: string;
targeting_template: string;
bid_strategy: string;
};
}
export const SYSTEM_SKINS: SkinConfig[] = [
{
id: 'generic',
name: 'Padrão / Genérico',
icon: '🚀',
themeColor: 'bg-white/10 border-white/20',
accentColor: '#ffffff',
fields: [
{ id: 'product', label: 'O que você está vendendo?', placeholder: 'Ex: Mentoria de Vendas, Tênis Esportivo...', type: 'text', required: true },
{ id: 'audience', label: 'Quem é o seu público?', placeholder: 'Ex: Homens de 25 a 40 anos que gostam de esportes...', type: 'textarea' },
],
ai_guidelines: {
copy_rules: 'Use uma linguagem persuasiva e direta.',
image_style: 'Minimalista, alta conversão, foco no produto',
},
meta_defaults: {
objective: 'OUTCOME_TRAFFIC',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'real_estate',
name: 'Corretor / Imobiliária',
icon: '🏢',
themeColor: 'bg-blue-900/40 border-blue-500/50',
accentColor: '#3b82f6',
fields: [
{ id: 'property_type', label: 'Tipo de Imóvel', placeholder: 'Ex: Apartamento 3 suítes, Casa em Condomínio...', type: 'text', required: true },
{ id: 'location', label: 'Localização (Bairro/Cidade)', placeholder: 'Ex: Vila Nova Conceição, SP', type: 'text', required: true },
{ id: 'price', label: 'Valor (Aproximado)', placeholder: 'Ex: A partir de R$ 850.000', type: 'text' },
{ id: 'differentials', label: 'Diferenciais do Imóvel', placeholder: 'Ex: Varanda gourmet, 2 vagas, lazer completo...', type: 'textarea' }
],
ai_guidelines: {
copy_rules: 'Você é um corretor de imóveis de alto padrão. Crie anúncios sofisticados, focados no sonho da casa própria, localização privilegiada e valorização do metro quadrado. Use jargões do mercado imobiliário com elegância.',
image_style: 'Fotografia de arquitetura realista, iluminação natural, interior luxuoso de imóvel, aconchegante',
},
meta_defaults: {
objective: 'OUTCOME_LEADS', // Imóveis costumam captar leads
targeting_template: 'broad_brazil', // We could create a specific one later
bid_strategy: 'VOLUME',
}
},
{
id: 'dentist',
name: 'Odontologia / Estética',
icon: '🦷',
themeColor: 'bg-teal-900/40 border-teal-500/50',
accentColor: '#14b8a6',
fields: [
{ id: 'treatment', label: 'Qual tratamento deseja anunciar?', placeholder: 'Ex: Lentes de Contato Dental, Implantes, Botox...', type: 'text', required: true },
{ id: 'clinic_name', label: 'Nome da sua Clínica', placeholder: 'Ex: OdontoPremium', type: 'text' },
{ id: 'pain_point', label: 'Qual a principal dor do paciente?', placeholder: 'Ex: Vergonha de sorrir, falta de dentes...', type: 'textarea' },
],
ai_guidelines: {
copy_rules: 'Você é um especialista em marketing médico e odontológico. Foque em auto-estima, confiança, segurança do procedimento e sorriso perfeito. Evite prometer resultados milagrosos (política do Facebook), foque no bem-estar.',
image_style: 'Pessoa sorrindo com dentes perfeitos, ambiente clínico moderno e limpo, tons de azul e branco, iluminação suave',
},
meta_defaults: {
objective: 'OUTCOME_TRAFFIC',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'ecommerce',
name: 'E-commerce / Dropshipping',
icon: '🛍️',
themeColor: 'bg-orange-900/40 border-orange-500/50',
accentColor: '#f97316',
fields: [
{ id: 'product_name', label: 'Nome do Produto', placeholder: 'Ex: Smartwatch Ultra Pro...', type: 'text', required: true },
{ id: 'offer', label: 'Oferta / Preço', placeholder: 'Ex: 50% de Desconto + Frete Grátis', type: 'text', required: true },
{ id: 'benefits', label: 'Principais Benefícios', placeholder: 'Ex: Bateria dura 7 dias, à prova d\'água...', type: 'textarea' },
],
ai_guidelines: {
copy_rules: 'Use escassez, urgência e gatilhos mentais fortes. Foque no problema que o produto resolve e na oferta irresistível.',
image_style: 'Produto em destaque, fundo limpo, cores vibrantes, design focado em conversão e oferta',
},
meta_defaults: {
objective: 'OUTCOME_SALES',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'infoproduct',
name: 'Infoprodutos / Lançamentos',
icon: '📚',
themeColor: 'bg-purple-900/40 border-purple-500/50',
accentColor: '#a855f7',
fields: [
{ id: 'course_name', label: 'Nome do Curso/Mentoria', placeholder: 'Ex: Método Venda Todo Dia...', type: 'text', required: true },
{ id: 'expert_name', label: 'Nome do Especialista', placeholder: 'Ex: João Silva', type: 'text' },
{ id: 'promise', label: 'Promessa Principal', placeholder: 'Ex: Aprenda a faturar 10k em 30 dias...', type: 'textarea', required: true },
],
ai_guidelines: {
copy_rules: 'Foque na transformação e na autoridade do especialista. Use storytelling curto e convite claro para a ação (ex: Cadastre-se, Assista a aula).',
image_style: 'Especialista apontando ou sorrindo, fundo de alta qualidade, elementos que remetem a sucesso e conhecimento',
},
meta_defaults: {
objective: 'OUTCOME_LEADS',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'delivery',
name: 'Delivery / Restaurante',
icon: '🍔',
themeColor: 'bg-red-900/40 border-red-500/50',
accentColor: '#ef4444',
fields: [
{ id: 'food_type', label: 'Tipo de Comida', placeholder: 'Ex: Hambúrguer Artesanal, Pizza, Sushi...', type: 'text', required: true },
{ id: 'promo', label: 'Promoção do Dia', placeholder: 'Ex: Compre 1 Leve 2, Frete Grátis na primeira compra...', type: 'text' },
{ id: 'location', label: 'Bairros de Entrega', placeholder: 'Ex: Centro, Zona Sul...', type: 'textarea' },
],
ai_guidelines: {
copy_rules: 'Desperte desejo imediato. Use linguagem apetitosa, foque na rapidez da entrega e promoções imperdíveis. Textos curtos e diretos.',
image_style: 'Comida suculenta e em close, cores quentes (vermelho, laranja, amarelo), vapor saindo, muito apetitoso',
},
meta_defaults: {
objective: 'OUTCOME_ENGAGEMENT',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'local_service',
name: 'Serviços Locais',
icon: '🔧',
themeColor: 'bg-yellow-900/40 border-yellow-500/50',
accentColor: '#eab308',
fields: [
{ id: 'service', label: 'Serviço Prestado', placeholder: 'Ex: Encanador, Eletricista, Limpeza de Sofá...', type: 'text', required: true },
{ id: 'urgency', label: 'Resolve qual urgência?', placeholder: 'Ex: Vazamentos, Curto-circuito, Sujeira pesada...', type: 'text' },
{ id: 'city', label: 'Cidade/Região de Atendimento', placeholder: 'Ex: Grande São Paulo', type: 'text', required: true },
],
ai_guidelines: {
copy_rules: 'Foque na solução rápida de problemas. Passe confiança, segurança e experiência. Use chamadas claras para solicitar um orçamento no WhatsApp.',
image_style: 'Profissional sorrindo com uniforme, ferramentas de trabalho, ambiente limpo e seguro, transmitindo confiança',
},
meta_defaults: {
objective: 'OUTCOME_ENGAGEMENT', // Usually WhatsApp messages
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
},
{
id: 'lawyer',
name: 'Advogados / Escritórios',
icon: '⚖️',
themeColor: 'bg-slate-900/40 border-slate-500/50',
accentColor: '#64748b',
fields: [
{ id: 'specialty', label: 'Especialidade', placeholder: 'Ex: Direito Trabalhista, Previdenciário, Família...', type: 'text', required: true },
{ id: 'target_client', label: 'Cliente Ideal', placeholder: 'Ex: Trabalhador sem registro, Aposentados...', type: 'text' },
{ id: 'action', label: 'Qual direito proteger/buscar?', placeholder: 'Ex: Revisão de aposentadoria, acerto rescisório...', type: 'textarea' },
],
ai_guidelines: {
copy_rules: 'Siga rigorosamente o código de ética da OAB: seja informativo, não mercantilista. Evite prometer ganhos de causa. Foco em orientação jurídica e defesa de direitos.',
image_style: 'Ambiente de escritório sério, livros de direito, balança da justiça discreta, cores sóbrias (azul marinho, cinza, preto), profissionalismo',
},
meta_defaults: {
objective: 'OUTCOME_LEADS',
targeting_template: 'broad_brazil',
bid_strategy: 'VOLUME',
}
}
];
export function getSkin(id: string): SkinConfig {
return SYSTEM_SKINS.find(s => s.id === id) || SYSTEM_SKINS[0];
}