| html |
| <!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <title>ShopFábricas - Ofertas Exclusivas</title> <script src="https://cdn.tailwindcss.com"></script> <script src="https://unpkg.com/@phosphor-icons/web"></script> <style> .star-active { color: #fbbf24; } .product-card:hover { transform: translateY(-2px); transition: 0.2s; } /* Esconde a barra de rolagem mas mantém a funcionalidade */ .scrollbar-hide::-webkit-scrollbar { display: none; } .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } </style> </head> <body class="bg-gray-50 pb-20"> <header class="bg-white border-b px-4 py-3 flex items-center justify-between sticky top-0 z-40 shadow-sm"> <div class="flex items-center gap-2"> <div class="bg-orange-600 p-1.5 rounded-lg text-white"><i class="ph-fill ph-crown text-lg"></i></div> <h1 class="font-black text-lg italic text-gray-990 tracking-tight">SHOP<span class="text-orange-600">FÁBRICAS</span></h1> </div> <div class="flex items-center gap-3"> <div class="relative cursor-pointer" onclick="showAccessModal()"> <i class="ph ph-bell text-2xl text-gray-600"></i> <span class="absolute top-0 right-0 w-2.5 h-2.5 bg-red-500 rounded-full border-2 border-white"></span> </div> <button onclick="showLoginModal()" class="text-[10px] font-bold bg-slate-900 text-white px-3 py-2.5 rounded-full shadow-md hover:bg-slate-800 transition"> ENTRAR, JÁ SOU MEMBRO </button> </div> </header> <main class="max-w-md mx-auto p-4"> <div class="inline-flex items-center gap-2 bg-white border px-3 py-1.5 rounded-full shadow-sm mb-4 cursor-pointer" onclick="showAccessModal()"> <span class="text-[10px] font-bold text-gray-600 tracking-wider">CRÉDITOS ATACADO</span> <span class="bg-purple-600 text-white text-xs font-bold w-5 h-5 flex items-center justify-center rounded-full">0</span> </div> <div class="bg-white p-3 rounded-2xl shadow-sm border mb-4 flex items-center gap-2 cursor-pointer transition active:scale-95" onclick="showAccessModal()"> <i class="ph ph-magnifying-glass text-gray-400 ml-1 text-xl"></i> <input type="text" placeholder="Buscar fábricas e fornecedores..." class="w-full text-sm outline-none bg-transparent pointer-events-none" readonly> </div> <div class="flex gap-2 overflow-x-auto pb-2 scrollbar-hide mb-2 cursor-pointer" onclick="showAccessModal()"> <button class="bg-purple-600 text-white px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">TODAS</button> <button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">ELETRONICOS</button> <button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">CASA</button> <button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">MODA</button> <button class="bg-white border border-gray-200 text-gray-600 px-5 py-2 rounded-full text-[11px] font-bold whitespace-nowrap shadow-sm">VARIADOS</button> </div> <div class="bg-gradient-to-br from-purple-700 to-indigo-900 rounded-[28px] p-6 text-white my-6 shadow-xl relative overflow-hidden cursor-pointer transform transition active:scale-[0.98]" onclick="showAccessModal()"> <div class="absolute top-0 right-0 w-32 h-32 bg-white opacity-5 rounded-full blur-2xl -mr-10 -mt-10"></div> <div class="text-[10px] font-bold tracking-widest text-purple-200 mb-2 uppercase flex items-center gap-1.5"> <span class="w-2 h-2 rounded-full bg-green-400 animate-pulse"></span> 125 Pessoas usando agora </div> <h2 class="text-3xl font-bold mb-3 tracking-tight">Fabricantes Secretos</h2> <p class="text-sm text-purple-100 mb-6 leading-relaxed pr-4">Acesso exclusivo à fonte para multiplicar seus lucros. Revele os contatos que os grandes lojistas escondem.</p> <button class="w-full bg-[#10b981] hover:bg-[#059669] text-white font-black py-4 rounded-full text-sm shadow-lg transition-colors tracking-wide"> QUERO ACESSO ILIMITADO </button> </div> <div id="product-grid" class="grid grid-cols-2 gap-4"></div> <div class="flex justify-center items-center gap-1 mt-10 overflow-x-auto cursor-pointer" onclick="showAccessModal()"> <button class="px-3 py-1 bg-white border rounded">1</button> <button class="px-3 py-1 bg-white border rounded">2</button> <button class="px-3 py-1 bg-white border rounded">3</button> <span class="px-2 text-gray-400">...</span> <button class="px-3 py-1 bg-white border rounded">89</button> </div> </main> <footer class="bg-white border-t p-6 text-center text-gray-500 mt-6 mb-16"> <div class="bg-orange-100 w-12 h-12 flex items-center justify-center rounded-xl mx-auto mb-4 text-orange-600"> <i class="ph-fill ph-crown text-2xl"></i> </div> <p class="font-bold text-gray-900 text-sm mb-1">© HubVip 2026</p> <p class="text-xs mb-1">CNPJ: 52.173.685/0001-71</p> <p class="text-xs mb-6">Batel, Curitiba - PR</p> <div class="flex flex-wrap justify-center gap-4 text-[11px] underline font-medium text-gray-600 mb-6"> <a href="https://app.hubvip.cloud/politicas" onclick="showAccessModal(event)">Políticas de Privacidade</a> <a href="https://app.hubvip.cloud/termos" onclick="showAccessModal(event)">Termos de Uso</a> <a href="https://wa.me/5548988353487" onclick="showAccessModal(event)">Contato</a> </div> <p class="text-[10px] text-gray-400 leading-relaxed border-t pt-4"> Em conformidade com a Lei Geral de Proteção de Dados (LGPD). Seus dados estão seguros. Este site é protegido por reCAPTCHA e as Políticas de Privacidade se aplicam. </p> </footer> <div class="fixed bottom-0 w-full bg-white border-t flex justify-around items-center pb-safe pt-2 px-2 z-30 shadow-[0_-4px_15px_rgba(0,0,0,0.05)]"> <button class="flex flex-col items-center p-2 text-gray-400 hover:text-orange-600 transition" onclick="showAccessModal()"> <i class="ph ph-crown text-2xl mb-1"></i> <span class="text-[9px] font-bold tracking-wide">OFERTAS</span> </button> <button class="flex flex-col items-center p-2 text-gray-400 hover:text-orange-600 transition" onclick="showAccessModal()"> <i class="ph ph-ticket text-2xl mb-1"></i> <span class="text-[9px] font-bold tracking-wide">CUPONS</span> </button> <button class="flex flex-col items-center p-2 text-orange-600" onclick="showAccessModal()"> <i class="ph-fill ph-chart-line-up text-2xl mb-1"></i> <span class="text-[9px] font-bold tracking-wide border-b-2 border-orange-600 pb-1">FABRICAS</span> </button> </div> <div id="modal-checkout" class="fixed inset-0 bg-black/70 hidden flex items-center justify-center p-4 z-50 backdrop-blur-sm transition-opacity"> <div class="bg-white rounded-[32px] p-8 w-full max-w-sm text-center shadow-2xl relative"> <div class="absolute -top-10 left-1/2 transform -translate-x-1/2 text-6xl drop-shadow-xl">🏭</div> <h2 class="text-2xl font-black mb-2 mt-4 text-gray-900">Acesso VIP</h2> <p class="text-gray-600 mb-6 text-sm">Este conteúdo é exclusivo para membros da comunidade. Solicite seu acesso agora.</p> <button onclick="goToCheckout()" class="w-full bg-orange-600 text-white font-black py-4 rounded-2xl mb-4 text-sm tracking-widest shadow-lg hover:bg-orange-700 transition">QUERO ENTRAR</button> <button onclick="closeModals()" class="text-xs font-bold text-gray-400 hover:text-gray-600">FECHAR</button> </div> </div> <div id="modal-login" class="fixed inset-0 bg-black/70 hidden flex items-center justify-center p-4 z-50 backdrop-blur-sm"> <div class="bg-white rounded-[32px] p-8 w-full max-w-sm relative shadow-2xl"> <button onclick="closeModals()" class="absolute top-4 right-4 text-gray-400 hover:text-gray-800 p-2"><i class="ph ph-x text-xl"></i></button> <div id="login-form-container"> <div class="text-center mb-6"> <div class="bg-gray-100 w-16 h-16 rounded-full flex items-center justify-center mx-auto mb-4 text-gray-900"> <i class="ph-fill ph-user text-3xl"></i> </div> <h2 class="text-xl font-black text-gray-900">Acessar Conta</h2> <p class="text-xs text-gray-500 mt-2">Área exclusiva para membros cadastrados.</p> </div> <form id="loginForm" onsubmit="submitLogin(event)"> <div class="mb-4"> <label class="block text-[10px] font-bold text-gray-600 mb-1 ml-2 uppercase">E-mail ou Telefone</label> <input type="text" id="login-identifier" required placeholder="Digite seu acesso..." class="w-full bg-gray-50 border border-gray-200 text-gray-900 text-sm rounded-2xl focus:ring-purple-500 focus:border-purple-500 block p-4 outline-none transition"> </div> <button type="submit" id="btn-submit-login" class="w-full bg-slate-900 text-white font-bold rounded-2xl text-sm px-5 py-4 text-center hover:bg-slate-800 transition flex justify-center items-center gap-2"> <span>ENTRAR AGORA</span> </button> </form> </div> <div id="login-success-container" class="hidden text-center py-6"> <div class="bg-green-100 w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-4 text-green-600 animate-bounce"> <i class="ph-fill ph-check-circle text-4xl"></i> </div> <h2 class="text-lg font-black text-gray-900 mb-2">Solicitação enviada!</h2> <p class="text-sm text-gray-600 leading-relaxed"> Se você estiver cadastrado na plataforma, receberá um <b>E-mail ou SMS</b> em instantes com suas credenciais de acesso seguro. </p> <button onclick="closeModals()" class="mt-8 w-full bg-gray-100 text-gray-900 font-bold py-3 rounded-xl text-sm">ENTENDI, FECHAR</button> </div> </div> </div> <script> // ========================================== // 🔗 LINKS DE CONFIGURAÇÃO PRINCIPAIS // ========================================== const LINK_CHECKOUT = 'https://pay.kiwify.com.br/TDJiv34'; const WEBHOOK_N8N = 'https://webhook.sistemabruto.pro/webhook/6e0586a1-6362-476a-b02e-6a2f12555d8b'; // ========================================== const produtos = [ { "title": "Moto Elétrica", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 12X 89,00", "img": "https://cdn.hubvip.cloud/Front/Images/Moto_eletrica.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Pratos", "cat": "Pode retirar no local", "loc": "Goiânia, GO", "price": "R$ 1,00", "img": "https://cdn.hubvip.cloud/Front/Images/Pratos.AVIF?auto=format&fit=crop&q=80&w=400" }, { "title": "Tv 65 polegadas", "cat": "Boleto ou cartão", "loc": "São Paulo, SP", "price": "R$ 12x 79,90", "img": "https://cdn.hubvip.cloud/Front/Images/Tv.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Calça jeans premium", "cat": "Pode retirar no local", "loc": "Blumenau, SC", "price": "22 reais", "img": "https://cdn.hubvip.cloud/Front/Images/Calc%CC%A7a%20jeans.jpg?auto=format&fit=crop&q=80&w=400" }, { "title": "Geladeira Duplex", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 899,00", "img": "https://cdn.hubvip.cloud/Front/Images/geladeiras.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Celular gamer 128g", "cat": "", "loc": "São Paulo, SP", "price": "R$ 299,00", "img": "https://cdn.hubvip.cloud/Front/Images/Celular.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Camisetas peruanas premium", "cat": "min 6 peças", "loc": "Fortaleza, CE", "price": "R$ 12,00", "img": "https://cdn.hubvip.cloud/Front/Images/Camisetas.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Kit panelas", "cat": "Frete grátis", "loc": "Belo Horizonte, MG", "price": "R$ 79,90", "img": "https://cdn.hubvip.cloud/Front/Images/Panelas.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Ripados de madeira", "cat": "Paga na entrega", "loc": "São Paulo, SP", "price": "R$ 8,90", "img": "https://cdn.hubvip.cloud/Front/Images/ripados.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Cuecas na caixinha", "cat": "Pode retirar 🤝", "loc": "São Paulo, SP", "price": "R$ 3,50/ peça", "img": "https://cdn.hubvip.cloud/Front/Images/Cuecas.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Tênis premium", "cat": "Frete Grátis", "loc": "Nova Serrana, MG", "price": "R$ 25,00", "img": "https://cdn.hubvip.cloud/Front/Images/Te%CC%82nis.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Utilidades do lar", "cat": "Frete grátis", "loc": "Goiânia, GO", "price": "R$ 2,00", "img": "https://cdn.hubvip.cloud/Front/Images/Utilidade.JPG?auto=format&fit=crop&q=80&w=400" }, { "title": "Moda infantil", "cat": "Frete grátis", "loc": "Fortaleza, CE", "price": "A partir de R$ 8,00", "img": "https://cdn.hubvip.cloud/Front/Images/Infantil.JPG?auto=format&fit=crop&q=80&w=400" } ]; const grid = document.getElementById('product-grid'); produtos.forEach(p => { grid.innerHTML += ` <div class="product-card bg-white rounded-[20px] border border-gray-100 p-2.5 shadow-sm cursor-pointer" onclick="showAccessModal()"> <div class="relative"> <img src="${p.img}" class="w-full h-36 object-cover rounded-2xl mb-3"> <span class="absolute top-2 left-2 bg-purple-100 text-purple-700 text-[9px] font-bold px-2 py-1 rounded-md">${p.cat}</span> </div> <h3 class="text-xs font-black text-gray-800 leading-tight mb-1">${p.title}</h3> <p class="text-[9px] text-gray-500 mb-2 flex items-center gap-1"><i class="ph-fill ph-map-pin"></i> ${p.loc}</p> <p class="text-sm font-black text-orange-600 mb-3">${p.price} <span class="text-[9px] text-gray-400 font-normal">/peça</span></p> <div class="grid grid-cols-2 gap-1.5"> <button class="bg-green-50 text-green-600 py-1.5 rounded-lg text-[10px] font-bold flex items-center justify-center gap-1"><i class="ph ph-whatsapp-logo text-sm"></i> Zap</button> <button class="bg-gray-50 text-gray-700 py-1.5 rounded-lg text-[10px] font-bold flex items-center justify-center gap-1"><i class="ph ph-instagram-logo text-sm"></i> Insta</button> </div> </div> `; }); // Controle de Modais function showAccessModal(e) { if(e) e.preventDefault(); document.getElementById('modal-checkout').classList.remove('hidden'); } function showLoginModal() { document.getElementById('login-form-container').classList.remove('hidden'); document.getElementById('login-success-container').classList.add('hidden'); document.getElementById('login-identifier').value = ''; document.getElementById('modal-login').classList.remove('hidden'); } function closeModals() { document.getElementById('modal-checkout').classList.add('hidden'); document.getElementById('modal-login').classList.add('hidden'); } function goToCheckout() { window.location.href = LINK_CHECKOUT; } // Lógica de Login e Webhook N8N function submitLogin(event) { event.preventDefault(); const identifier = document.getElementById('login-identifier').value; const btn = document.getElementById('btn-submit-login'); const originalText = btn.innerHTML; btn.innerHTML = `<i class="ph ph-spinner animate-spin text-lg"></i> Processando...`; btn.disabled = true; fetch(WEBHOOK_N8N, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ login: identifier, origem: "ShopFabricas_App", data: new Date().toISOString() }) }) .then(response => { showLoginSuccess(); }) .catch(error => { console.error("Erro no Webhook:", error); showLoginSuccess(); }) .finally(() => { btn.innerHTML = originalText; btn.disabled = false; }); } function showLoginSuccess() { document.getElementById('login-form-container').classList.add('hidden'); document.getElementById('login-success-container').classList.remove('hidden'); } window.onclick = (e) => { if(e.target == document.getElementById('modal-checkout')) closeModals(); if(e.target == document.getElementById('modal-login')) closeModals(); } </script> </body> </html> |