Versão inicial do site Avanzato
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
// Configuracao do Mautic - Avanzato
|
||||
// URL: https://mkt.avanzato.com.br
|
||||
|
||||
// --- DETECAO DE AMBIENTE ---
|
||||
// Em homologacao (localhost, IP, ou nao-producao), o Mautic fica em modo simulacao
|
||||
// Apenas loga no console, nao envia dados reais
|
||||
const hostname = typeof window !== 'undefined' ? window.location.hostname : '';
|
||||
const PROD_HOSTS = ['avanzato.com.br'];
|
||||
export const IS_HOMOLOGATION = !PROD_HOSTS.includes(hostname);
|
||||
|
||||
export const MAUTIC_CONFIG = {
|
||||
baseUrl: 'https://mkt.avanzato.com.br',
|
||||
|
||||
forms: {
|
||||
condominio: { id: '2', enabled: true },
|
||||
avaliacaoTI: { id: '3', enabled: true },
|
||||
contato: { id: '4', enabled: true },
|
||||
},
|
||||
|
||||
// Desativa envio real em homologacao
|
||||
enabled: !IS_HOMOLOGATION,
|
||||
};
|
||||
|
||||
/**
|
||||
* Envia lead ao Mautic
|
||||
* Em homologacao: apenas simula (loga no console), nao envia dados reais
|
||||
* Em producao: envia via iframe POST para o Mautic
|
||||
*/
|
||||
export const sendLeadToMautic = (
|
||||
formType: 'condominio' | 'avaliacaoTI' | 'contato',
|
||||
formData: Record<string, string>
|
||||
): boolean => {
|
||||
const formConfig = MAUTIC_CONFIG.forms[formType];
|
||||
|
||||
if (!formConfig?.enabled || !formConfig?.id) {
|
||||
console.warn(`[Mautic] Form ${formType} desativado na configuracao.`);
|
||||
return false;
|
||||
}
|
||||
|
||||
// MODO HOMOLOGACAO: simula envio, nao manda dados reais
|
||||
if (IS_HOMOLOGATION) {
|
||||
console.log('%c[HOMOLOGACAO] Mautic em modo simulacao - dados NAO enviados ao servidor real', 'background:#f59e0b;color:#000;font-weight:bold;padding:4px 8px;border-radius:4px');
|
||||
console.log(`[Mautic] Form: ${formType} | Form ID: ${formConfig.id}`);
|
||||
console.log(`[Mautic] Dados que seriam enviados:`, JSON.stringify(formData, null, 2));
|
||||
console.log(`[Mautic] Em producao, enviaria para: ${MAUTIC_CONFIG.baseUrl}/form/submit?formId=${formConfig.id}`);
|
||||
return true; // Retorna true para o fluxo continuar (simula sucesso)
|
||||
}
|
||||
|
||||
// MODO PRODUCAO: envio real via iframe
|
||||
try {
|
||||
console.log(`[Mautic] Enviando ${formType} para Form ID ${formConfig.id}`);
|
||||
console.log(`[Mautic] Dados:`, JSON.stringify(formData, null, 2));
|
||||
|
||||
const container = document.createElement('div');
|
||||
container.style.cssText = 'position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;';
|
||||
document.body.appendChild(container);
|
||||
|
||||
const iframe = document.createElement('iframe');
|
||||
iframe.name = `mautic_${Date.now()}`;
|
||||
container.appendChild(iframe);
|
||||
|
||||
const form = document.createElement('form');
|
||||
form.method = 'POST';
|
||||
form.action = `${MAUTIC_CONFIG.baseUrl}/form/submit?formId=${formConfig.id}`;
|
||||
form.target = iframe.name;
|
||||
form.enctype = 'application/x-www-form-urlencoded';
|
||||
|
||||
const addInput = (name: string, value: string) => {
|
||||
const input = document.createElement('input');
|
||||
input.type = 'hidden';
|
||||
input.name = name;
|
||||
input.value = value;
|
||||
form.appendChild(input);
|
||||
};
|
||||
|
||||
Object.entries(formData).forEach(([key, value]) => {
|
||||
if (value !== undefined && value !== null && value !== '') {
|
||||
addInput(`mauticform[${key}]`, String(value));
|
||||
}
|
||||
});
|
||||
|
||||
addInput('mauticform[formId]', formConfig.id);
|
||||
addInput('mauticform[return]', '');
|
||||
addInput('mauticform[formName]', `mauticform_${formConfig.id}`);
|
||||
|
||||
if (formData.nome) addInput('mauticform[firstname]', formData.nome);
|
||||
if (formData.email) addInput('mauticform[email]', formData.email);
|
||||
|
||||
container.appendChild(form);
|
||||
form.submit();
|
||||
|
||||
console.log(`[Mautic] Formulario submetido! Verifique em: ${MAUTIC_CONFIG.baseUrl}/s/forms/view/${formConfig.id}`);
|
||||
|
||||
setTimeout(() => {
|
||||
if (container.parentNode) document.body.removeChild(container);
|
||||
}, 5000);
|
||||
|
||||
return true;
|
||||
} catch (error) {
|
||||
console.error(`[Mautic] Erro:`, error);
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Fallback: e-mail
|
||||
*/
|
||||
export const sendLeadViaMailto = (formData: Record<string, string>): void => {
|
||||
const subject = encodeURIComponent(`[Lead Site] ${formData.nome || 'Sem nome'}`);
|
||||
const body = encodeURIComponent(
|
||||
`Novo lead do site avanzato.com.br!\n\n` +
|
||||
Object.entries(formData)
|
||||
.filter(([, v]) => v)
|
||||
.map(([k, v]) => `${k}: ${v}`)
|
||||
.join('\n') +
|
||||
`\n\n---\n${new Date().toLocaleString('pt-BR')}`
|
||||
);
|
||||
window.open(`mailto:leads@avanzato.com.br?subject=${subject}&body=${body}`, '_blank');
|
||||
};
|
||||
|
||||
/**
|
||||
* Tracking Google Ads
|
||||
* Desativado em homologacao para nao poluir dados
|
||||
*/
|
||||
export const trackConversion = (): void => {
|
||||
if (IS_HOMOLOGATION) {
|
||||
console.log('%c[HOMOLOGACAO] Google Ads conversion NAO disparado (ambiente de teste)', 'color:#f59e0b');
|
||||
return;
|
||||
}
|
||||
if (typeof window !== 'undefined' && (window as any).gtag) {
|
||||
(window as any).gtag('event', 'conversion', {
|
||||
send_to: 'AW-16714813566/submit_lead_form',
|
||||
value: 1.0,
|
||||
currency: 'BRL',
|
||||
});
|
||||
console.log('[Google Ads] Conversion disparado');
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Tracking Facebook Pixel (Meta)
|
||||
* Desativado em homologacao
|
||||
*/
|
||||
export const trackFacebookPixel = (eventName: string = 'Lead', params?: Record<string, any>): void => {
|
||||
if (IS_HOMOLOGATION) {
|
||||
console.log(`%c[HOMOLOGACAO] Facebook Pixel "${eventName}" NAO disparado (ambiente de teste)`, 'color:#f59e0b', params);
|
||||
return;
|
||||
}
|
||||
if (typeof window !== 'undefined' && (window as any).fbq) {
|
||||
(window as any).fbq('track', eventName, params || {});
|
||||
console.log(`[Facebook Pixel] Evento: ${eventName}`, params);
|
||||
}
|
||||
};
|
||||
@@ -0,0 +1,209 @@
|
||||
// ============================================================================
|
||||
// CONFIGURACAO CENTRAL DO SITE - AVANZATO
|
||||
// ============================================================================
|
||||
// EDITE ESTE ARQUIVO para alterar logo, redes sociais, contatos, etc.
|
||||
// NAO PRECISA editar Navigation.tsx, Footer.tsx ou outros componentes.
|
||||
// Apenas este arquivo controla todos os dados do site.
|
||||
// ============================================================================
|
||||
|
||||
// --- LOGO -------------------------------------------------------------------
|
||||
// Opcao 1: SVG inline (digite o codigo SVG aqui)
|
||||
// Opcao 2: URL da imagem (deixe svgInline vazio e preencha imageUrl)
|
||||
|
||||
export const LOGO = {
|
||||
// Se quiser usar SVG inline, cole o codigo aqui entre as crases
|
||||
// Exemplo: svgInline: `<svg ...>...</svg>`
|
||||
svgInline: `<svg width="40" height="40" viewBox="0 0 100 100">
|
||||
<path d="M50 15 L75 75 H60 L55 60 H45 L40 75 H25 L50 15 Z M48 48 H52 L50 40 L48 48 Z"
|
||||
fill="#cbf400" stroke="#cbf400" stroke-width="4" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
</svg>`,
|
||||
|
||||
// Se quiser usar imagem (PNG/JPG), coloque o arquivo em public/assets/
|
||||
// e defina: imageUrl: '/assets/logo.png'
|
||||
imageUrl: '',
|
||||
|
||||
// Texto ao lado do logo (deixe vazio se nao quiser texto)
|
||||
text: 'avanzato',
|
||||
textHighlight: '.', // O ponto verde apos o texto
|
||||
|
||||
// Link do logo (para onde vai quando clica)
|
||||
href: '/',
|
||||
};
|
||||
|
||||
// --- REDES SOCIAIS ----------------------------------------------------------
|
||||
// Defina apenas as redes que quer mostrar. Para ocultar, deixe a url vazia.
|
||||
|
||||
export const SOCIAL_LINKS = {
|
||||
facebook: {
|
||||
url: 'https://www.facebook.com/avanzatotec',
|
||||
label: 'Facebook',
|
||||
// Se quiser icone customizado, coloque SVG aqui. Deixe vazio para usar padrao.
|
||||
iconSvg: '',
|
||||
},
|
||||
youtube: {
|
||||
url: 'https://www.youtube.com/@AvanzatoTecnologia',
|
||||
label: 'YouTube',
|
||||
iconSvg: '',
|
||||
},
|
||||
linkedin: {
|
||||
url: 'https://www.linkedin.com/company/avanzato-tecnologia-e-informatica/',
|
||||
label: 'LinkedIn',
|
||||
iconSvg: '',
|
||||
},
|
||||
instagram: {
|
||||
url: 'https://www.instagram.com/avanzato.tecnologia/',
|
||||
label: 'Instagram',
|
||||
iconSvg: '',
|
||||
},
|
||||
// Adicione mais redes se quiser:
|
||||
// twitter: { url: '', label: 'Twitter', iconSvg: '' },
|
||||
// tiktok: { url: '', label: 'TikTok', iconSvg: '' },
|
||||
};
|
||||
|
||||
// --- CONTATOS ----------------------------------------------------------------
|
||||
|
||||
export const CONTACT = {
|
||||
// Telefone principal (usado no WhatsApp widget e CTAs)
|
||||
phone: '(11) 4810-1704',
|
||||
phoneRaw: '551148101704', // Com codigo do pais, sem espacos
|
||||
|
||||
// E-mails
|
||||
email: 'leads@avanzato.com.br',
|
||||
emailGeneral: 'contato@avanzato.com.br',
|
||||
|
||||
// WhatsApp
|
||||
whatsappNumber: '551148101704',
|
||||
|
||||
// Link do suporte (area do cliente)
|
||||
supportUrl: 'https://suporte.avanzato.com.br/',
|
||||
};
|
||||
|
||||
// --- ENDERECOS --------------------------------------------------------------
|
||||
|
||||
export const ADDRESSES = [
|
||||
{
|
||||
label: 'Escritorio Principal',
|
||||
street: 'Rua Juiz de Fora, 76',
|
||||
city: 'Guarulhos',
|
||||
state: 'SP',
|
||||
cep: '',
|
||||
},
|
||||
{
|
||||
label: 'Sao Paulo',
|
||||
street: 'Rua Dom Estevao Pimentel, 165',
|
||||
city: 'Sao Paulo',
|
||||
state: 'SP',
|
||||
cep: '',
|
||||
},
|
||||
{
|
||||
label: 'Mogi das Cruzes',
|
||||
street: 'Rua Professor Flaviano de Melo, 250',
|
||||
city: 'Mogi das Cruzes',
|
||||
state: 'SP',
|
||||
cep: '',
|
||||
},
|
||||
];
|
||||
|
||||
// --- DESCRICAO DA EMPRESA ---------------------------------------------------
|
||||
|
||||
export const COMPANY = {
|
||||
name: 'Avanzato Tecnologia',
|
||||
tagline: 'Solucoes em TI Gerenciada, Cloud e Seguranca para empresas que nao podem parar.',
|
||||
description: 'Solucoes em TI Gerenciada, Cloud e Seguranca para empresas que nao podem parar. Seu parceiro estrategico em transformacao digital.',
|
||||
fullDescription: 'Há mais de 23 anos, a Avanzato Tecnologia é referência em TI Gerenciada, Cloud Computing e Segurança da Informação. Atendemos empresas de todos os portes em Guarulhos, São Paulo e região.',
|
||||
foundingYear: '2001',
|
||||
cnpj: '',
|
||||
};
|
||||
|
||||
// --- NAVEGACAO (MENU) -------------------------------------------------------
|
||||
// Defina os links do menu principal aqui
|
||||
|
||||
export const NAV_LINKS = [
|
||||
{ name: 'Home', href: '/' },
|
||||
{ name: 'Sobre', href: '/sobre' },
|
||||
{
|
||||
name: 'Servicos',
|
||||
href: '#',
|
||||
submenu: [
|
||||
{ name: 'TI Gerenciada', href: '/servicos/ti-gerenciada' },
|
||||
{ name: 'Cloud Computing', href: '/servicos/cloud-computing' },
|
||||
{ name: 'Seguranca', href: '/servicos/seguranca' },
|
||||
{ name: 'Suporte Tecnico', href: '/servicos/suporte' },
|
||||
],
|
||||
},
|
||||
{ name: 'Tecnologias', href: '/tecnologias' },
|
||||
{ name: 'Avaliacao TI', href: '/avaliacao' },
|
||||
{ name: 'Cases', href: '/cases' },
|
||||
{ name: 'Blog', href: '/blog' },
|
||||
{ name: 'Contato', href: '/contato' },
|
||||
];
|
||||
|
||||
// --- LINKS DO FOOTER --------------------------------------------------------
|
||||
|
||||
export const FOOTER_LINKS = {
|
||||
servicos: [
|
||||
{ name: 'TI Gerenciada', href: '/servicos/ti-gerenciada' },
|
||||
{ name: 'Cloud Computing', href: '/servicos/cloud-computing' },
|
||||
{ name: 'Seguranca da Informacao', href: '/servicos/seguranca' },
|
||||
{ name: 'Suporte Tecnico', href: '/servicos/suporte' },
|
||||
],
|
||||
empresa: [
|
||||
{ name: 'Sobre nos', href: '/sobre' },
|
||||
{ name: 'Cases de sucesso', href: '/cases' },
|
||||
{ name: 'Blog', href: '/blog' },
|
||||
{ name: 'Trabalhe conosco', href: '/contato' },
|
||||
],
|
||||
suporte: [
|
||||
{ name: 'Central de ajuda', href: '/contato' },
|
||||
{ name: 'Area do cliente', href: 'https://suporte.avanzato.com.br/' },
|
||||
{ name: 'Contato', href: '/contato' },
|
||||
],
|
||||
legais: [
|
||||
{ name: 'Politica de Privacidade', href: '/privacidade' },
|
||||
{ name: 'Termos de Uso', href: '/termos' },
|
||||
],
|
||||
};
|
||||
|
||||
// --- CORES DO TEMA ----------------------------------------------------------
|
||||
// Se quiser mudar a cor principal do site, altere aqui
|
||||
|
||||
export const THEME = {
|
||||
primary: '#cbf400', // Verde-limao (cor principal)
|
||||
primaryDark: '#b8e000', // Hover
|
||||
background: '#0e0e0e', // Fundo escuro
|
||||
surface: '#1a1a1a', // Cards
|
||||
surfaceLight: '#141414', // Secoes alternadas
|
||||
text: '#ffffff',
|
||||
textMuted: '#9ca3af',
|
||||
textDim: '#6b7280',
|
||||
};
|
||||
|
||||
// --- SEO / META TAGS --------------------------------------------------------
|
||||
|
||||
export const SEO = {
|
||||
title: 'Avanzato Tecnologia | TI Gerenciada, Cloud e Seguranca em Guarulhos/SP',
|
||||
description: 'Solucoes em TI Gerenciada, Cloud Computing e Seguranca da Informacao. +23 anos de experiencia, +500 clientes atendidos. Suporte 24/7 em Guarulhos e regiao.',
|
||||
keywords: 'TI Gerenciada, Cloud Computing, Seguranca da Informacao, Suporte Tecnico, Guarulhos, Sao Paulo',
|
||||
author: 'Avanzato Tecnologia',
|
||||
siteUrl: 'https://avanzato.com.br',
|
||||
ogImage: 'https://avanzato.com.br/og-image.jpg',
|
||||
};
|
||||
|
||||
// --- WHATSAPP WIDGET --------------------------------------------------------
|
||||
|
||||
export const WHATSAPP_CONFIG = {
|
||||
enabled: true,
|
||||
phoneNumber: '551148101704',
|
||||
defaultMessage: 'Ola! Vi no site sobre tecnologia para condominios. Gostaria de mais informacoes.',
|
||||
greetingText: 'Ola! Como podemos ajudar? Temos solucoes de VOIP e infraestrutura para condominios.',
|
||||
showAfterSeconds: 3, // Segundos ate aparecer
|
||||
options: [
|
||||
{ label: 'Quero saber sobre VOIP', message: 'Ola! Quero saber mais sobre VOIP para condominios.' },
|
||||
{ label: 'Quero um diagnostico gratuito', message: 'Ola! Quero um diagnostico gratuito do meu condominio.' },
|
||||
{ label: 'Quero saber sobre CPD/Infraestrutura', message: 'Ola! Quero informacoes sobre gestao de CPD e infraestrutura.' },
|
||||
],
|
||||
};
|
||||
|
||||
// ============================================================================
|
||||
// FIM DA CONFIGURACAO
|
||||
// ============================================================================
|
||||
Reference in New Issue
Block a user