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]; }