202 lines
6.3 KiB
Svelte
202 lines
6.3 KiB
Svelte
<script>
|
|
import { onMount } from 'svelte';
|
|
import { fly, fade, scale } from 'svelte/transition';
|
|
import {
|
|
Shield,
|
|
Zap,
|
|
BarChart3,
|
|
Users,
|
|
Clock,
|
|
BadgeCheck,
|
|
ShieldCheck,
|
|
DollarSign,
|
|
TrendingUp
|
|
} from 'lucide-svelte';
|
|
|
|
let mounted = false;
|
|
let visibleElements = {};
|
|
|
|
onMount(() => {
|
|
mounted = true;
|
|
|
|
const observer = new IntersectionObserver(
|
|
(entries) => {
|
|
entries.forEach((entry) => {
|
|
if (entry.isIntersecting) {
|
|
visibleElements[entry.target.id] = true;
|
|
}
|
|
});
|
|
},
|
|
{ threshold: 0.1 }
|
|
);
|
|
|
|
const elements = document.querySelectorAll('[data-animate]');
|
|
elements.forEach((el) => observer.observe(el));
|
|
|
|
return () => observer.disconnect();
|
|
});
|
|
|
|
const features = [
|
|
{
|
|
icon: Shield,
|
|
title: 'Segurança bancária',
|
|
description: 'Infraestrutura certificada PCI DSS com criptografia de ponta.'
|
|
},
|
|
{
|
|
icon: Zap,
|
|
title: 'Pagamentos em tempo real',
|
|
description: 'PIX instantâneo e alta taxa de aprovação em cartões.'
|
|
},
|
|
{
|
|
icon: BarChart3,
|
|
title: 'Relatórios e controle',
|
|
description: 'Dashboard completo para conciliação financeira.'
|
|
},
|
|
{
|
|
icon: Users,
|
|
title: 'Gestão de clientes',
|
|
description: 'Ferramentas para fidelização e crescimento de receita.'
|
|
},
|
|
{
|
|
icon: Clock,
|
|
title: 'Suporte especializado',
|
|
description: 'Atendimento humano com SLA empresarial.'
|
|
},
|
|
{
|
|
icon: BadgeCheck,
|
|
title: 'Participante do Pix junto ao Banco Central',
|
|
description: 'Conexão direta com o sistema PIX, sem intermediários.'
|
|
},
|
|
{
|
|
icon: ShieldCheck,
|
|
title: 'Prevenção de fraudes em tempo real',
|
|
description: 'Análise inteligente de transações com bloqueio automático.'
|
|
},
|
|
{
|
|
icon: DollarSign,
|
|
title: 'Baixo setup e mensalidade acessível',
|
|
description: 'Sem exigências de volumetria elevada para começar.'
|
|
}
|
|
];
|
|
|
|
const stats = [
|
|
{ number: '50k+', label: 'Empresas ativas', icon: Users },
|
|
{ number: 'R\$ 2 bi+', label: 'Processado por mês', icon: TrendingUp },
|
|
{ number: '99,9%', label: 'Disponibilidade', icon: Shield },
|
|
{ number: '< 1s', label: 'Tempo médio de resposta', icon: Zap }
|
|
];
|
|
</script>
|
|
|
|
<section id="recursos" class="section-padding bg-white">
|
|
<div class="container-basspago">
|
|
<!-- HEADER -->
|
|
<div
|
|
class="mx-auto mb-20 max-w-3xl text-center"
|
|
data-animate
|
|
id="features-header"
|
|
>
|
|
{#if mounted && visibleElements['features-header']}
|
|
|
|
|
|
<h2
|
|
class="mb-6 text-4xl md:text-5xl font-black text-gray-900"
|
|
in:fly={{ y: 30, duration: 600, delay: 100 }}
|
|
>
|
|
Tecnologia pensada
|
|
<br />
|
|
<span class="text-gradient">para escalar seu negócio</span>
|
|
</h2>
|
|
|
|
<p
|
|
class="text-xl text-gray-600 leading-relaxed"
|
|
in:fly={{ y: 30, duration: 600, delay: 200 }}
|
|
>
|
|
Uma plataforma completa de pagamentos para empresas que exigem segurança, desempenho e
|
|
confiabilidade.
|
|
</p>
|
|
{/if}
|
|
</div>
|
|
|
|
<!-- FEATURES GRID -->
|
|
<div class="grid gap-8 sm:grid-cols-2 lg:grid-cols-4 mb-20">
|
|
{#each features as feature, index}
|
|
<div
|
|
class="text-center group"
|
|
data-animate
|
|
id="feature-{index}"
|
|
>
|
|
{#if mounted && visibleElements[`feature-${index}`]}
|
|
<div
|
|
in:fly={{ y: 30, duration: 500, delay: index * 100 }}
|
|
class="h-full flex flex-col"
|
|
>
|
|
<!-- Icon -->
|
|
<div
|
|
class="w-16 h-16 bg-gradient-to-r from-blue-500 to-cyan-500 rounded-2xl flex items-center justify-center mx-auto mb-6 group-hover:shadow-lg transition-all duration-300 hover:scale-110 hover:rotate-3"
|
|
>
|
|
<svelte:component this={feature.icon} size={32} class="text-white" />
|
|
</div>
|
|
|
|
<!-- Content -->
|
|
<h3 class="text-xl font-bold text-gray-900 mb-4">
|
|
{feature.title}
|
|
</h3>
|
|
|
|
<p class="text-gray-600 leading-relaxed">
|
|
{feature.description}
|
|
</p>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
{/each}
|
|
</div>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
<style>
|
|
/* Animações personalizadas para os ícones */
|
|
.group:hover .w-16 {
|
|
animation: iconBounce 0.6s ease-in-out;
|
|
}
|
|
|
|
@keyframes iconBounce {
|
|
0%, 100% {
|
|
transform: scale(1) rotate(0deg);
|
|
}
|
|
25% {
|
|
transform: scale(1.1) rotate(3deg);
|
|
}
|
|
75% {
|
|
transform: scale(1.05) rotate(-1deg);
|
|
}
|
|
}
|
|
|
|
/* Gradient text para os números das estatísticas */
|
|
.text-gradient {
|
|
background: linear-gradient(45deg, #06b6d4, #fbbf24);
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
background-clip: text;
|
|
}
|
|
|
|
/* Hover effect para cards de features */
|
|
.group:hover {
|
|
transform: translateY(-5px);
|
|
transition: transform 0.3s ease;
|
|
}
|
|
|
|
/* Animação de pulso para decorações de fundo */
|
|
.bg-white\/5 {
|
|
animation: pulse 4s ease-in-out infinite;
|
|
}
|
|
|
|
@keyframes pulse {
|
|
0%, 100% {
|
|
opacity: 0.05;
|
|
}
|
|
50% {
|
|
opacity: 0.1;
|
|
}
|
|
}
|
|
</style> |