2026-06-07 22:30:33 +00:00
'use client' ;
2026-05-07 20:04:31 +00:00
2026-06-07 22:30:33 +00:00
import Link from 'next/link' ;
import { motion } from 'framer-motion' ;
import { Wand2 , Activity , Shield , History , ArrowRight , Sparkles } from 'lucide-react' ;
import { PublicHeader } from '@/components/public/PublicHeader' ;
import { PublicFooter } from '@/components/public/PublicFooter' ;
import { FloatingOrbs } from '@/components/public/FloatingOrbs' ;
import { LiveChartMock } from '@/components/public/LiveChartMock' ;
import { HowItWorks } from '@/components/public/HowItWorks' ;
import { StatsStrip } from '@/components/public/StatsStrip' ;
import { ScrollReveal } from '@/components/public/ScrollReveal' ;
const features = [
{
icon : Wand2 ,
title : 'Criação de campanhas com IA' ,
description : 'Cole o link do seu site (ou descreva seu produto) e a IA detecta o nicho, monta a copy, gera imagens e configura toda a campanha sozinha.' ,
} ,
{
icon : Activity ,
title : 'Auditoria automática de anúncios' ,
description : 'A IA lê suas campanhas ativas, analisa métricas (CTR, CPC, ROAS) e sugere os próximos passos com linguagem clara, sem jargão.' ,
} ,
{
icon : Shield ,
title : 'Automação por regras' ,
description : 'Defina regras de orçamento e performance — pausar, escalar ou ajustar lances automaticamente conforme os resultados chegam.' ,
} ,
{
icon : History ,
title : 'Histórico que nunca se perde' ,
description : 'Toda copy, criativo e configuração gerados ficam salvos — mesmo se a publicação falhar, você retoma de onde parou.' ,
} ,
] ;
const fadeUp = {
hidden : { opacity : 0 , y : 24 } ,
show : ( i : number ) = > ( {
opacity : 1 ,
y : 0 ,
transition : { duration : 0.7 , delay : 0.1 + i * 0.12 , ease : 'easeOut' as const } ,
} ) ,
} ;
export default function LandingPage() {
2026-05-07 20:04:31 +00:00
return (
2026-06-07 22:30:33 +00:00
< div className = "min-h-screen flex flex-col" style = { { background : 'var(--background)' , color : 'var(--foreground)' } } >
< PublicHeader / >
< main className = "flex-1" >
{ /* Hero */ }
< section className = "relative overflow-hidden" >
< div className = "absolute inset-0 bg-grid-pattern opacity-30" / >
< FloatingOrbs / >
< div className = "relative z-10 max-w-6xl mx-auto px-6 py-20 md:py-28 grid lg:grid-cols-[1.1fr_0.9fr] gap-14 items-center" >
< div className = "text-center lg:text-left" >
< motion.div
custom = { 0 }
initial = "hidden"
animate = "show"
variants = { fadeUp }
className = "inline-flex items-center gap-2 px-4 py-1.5 rounded-full text-xs font-medium mb-6"
style = { { background : 'var(--overlay-04)' , border : '1px solid var(--overlay-08)' , color : 'var(--accent-hover)' } }
>
< motion.span
animate = { { rotate : [ 0 , 15 , - 10 , 0 ] } }
transition = { { duration : 2.4 , repeat : Infinity , ease : 'easeInOut' } }
className = "inline-flex"
>
< Sparkles size = { 14 } / >
< / motion.span >
Tráfego pago no Meta , no piloto automático
< / motion.div >
< motion.h1
custom = { 1 }
initial = "hidden"
animate = "show"
variants = { fadeUp }
className = "text-4xl md:text-6xl font-bold leading-tight mb-6"
>
Crie , publique e otimize campanhas no < span className = "gradient-text" > Meta Ads < / span > com IA autônoma
< / motion.h1 >
< motion.p
custom = { 2 }
initial = "hidden"
animate = "show"
variants = { fadeUp }
className = "text-base md:text-lg max-w-xl mx-auto lg:mx-0 mb-10"
style = { { color : 'var(--muted-fg)' } }
>
O MetaAds Pro conecta direto com sua conta do Facebook Ads , entende seu produto a partir de um link
ou descrição , e monta campanhas profissionais — copy , criativos , segmentação e configuração — sem você
precisar preencher um formulário gigante .
< / motion.p >
< motion.div
custom = { 3 }
initial = "hidden"
animate = "show"
variants = { fadeUp }
className = "flex flex-col sm:flex-row items-center justify-center lg:justify-start gap-4"
>
< Link href = "/login" className = "group" >
< motion.span
whileHover = { { scale : 1.04 } }
whileTap = { { scale : 0.97 } }
className = "flex items-center gap-2 px-6 py-3.5 rounded-xl font-semibold text-white transition-shadow duration-300"
style = { { background : 'linear-gradient(135deg, #6366f1, #8b5cf6)' , boxShadow : '0 8px 32px rgba(99,102,241,0.3)' } }
>
Começar agora
< ArrowRight size = { 18 } className = "transition-transform group-hover:translate-x-1" / >
< / motion.span >
< / Link >
< Link href = "#features" >
< motion.span
whileHover = { { scale : 1.04 } }
whileTap = { { scale : 0.97 } }
className = "inline-flex px-6 py-3.5 rounded-xl font-medium"
style = { { background : 'var(--overlay-04)' , border : '1px solid var(--overlay-08)' , color : 'var(--foreground)' } }
>
Ver como funciona
< / motion.span >
< / Link >
< / motion.div >
< / div >
< div className = "flex justify-center lg:justify-end" >
< LiveChartMock / >
< / div >
< / div >
< / section >
< StatsStrip / >
< HowItWorks / >
{ /* Features */ }
< section id = "features" className = "max-w-6xl mx-auto px-6 py-20" >
< ScrollReveal className = "text-center mb-14" >
< h2 className = "text-2xl md:text-3xl font-bold mb-3" > Tudo que você precisa para escalar no Meta Ads < / h2 >
< p className = "text-sm md:text-base max-w-xl mx-auto" style = { { color : 'var(--muted-fg)' } } >
Conectado via integração oficial da Meta — você mantém o controle total da sua conta de anúncios .
< / p >
< / ScrollReveal >
< div className = "grid sm:grid-cols-2 gap-5" >
{ features . map ( ( feature , i ) = > {
const Icon = feature . icon ;
return (
< ScrollReveal key = { feature . title } delay = { i * 0.1 } >
< motion.div
whileHover = { { y : - 4 } }
transition = { { type : 'spring' , stiffness : 300 , damping : 20 } }
className = "glass-card p-6 h-full"
>
< div className = "w-11 h-11 rounded-xl flex items-center justify-center mb-4" style = { { background : 'rgba(99,102,241,0.12)' , border : '1px solid rgba(99,102,241,0.2)' } } >
< Icon size = { 20 } style = { { color : 'var(--accent-soft-fg)' } } / >
< / div >
< h3 className = "text-base font-semibold mb-2" style = { { color : 'var(--foreground)' } } > { feature . title } < / h3 >
< p className = "text-sm leading-relaxed" style = { { color : 'var(--muted-fg)' } } > { feature . description } < / p >
< / motion.div >
< / ScrollReveal >
) ;
} ) }
< / div >
< / section >
{ /* CTA */ }
< section className = "max-w-4xl mx-auto px-6 pb-24" >
< ScrollReveal >
< div className = "gradient-border relative overflow-hidden" >
< motion.div
className = "absolute inset-0 opacity-40"
style = { { background : 'radial-gradient(circle at 30% 20%, rgba(99,102,241,0.25), transparent 60%)' } }
animate = { { opacity : [ 0.25 , 0.5 , 0.25 ] } }
transition = { { duration : 4 , repeat : Infinity , ease : 'easeInOut' } }
/ >
< div className = "relative p-10 text-center rounded-2xl" style = { { background : 'var(--card)' , backdropFilter : 'blur(20px)' } } >
< h2 className = "text-2xl font-bold mb-3" > Pronto para automatizar suas campanhas ? < / h2 >
< p className = "text-sm mb-7 max-w-lg mx-auto" style = { { color : 'var(--muted-fg)' } } >
Conecte sua conta do Facebook em segundos e deixe a IA cuidar do trabalho pesado — da estratégia à publicação .
< / p >
< Link href = "/login" >
< motion.span
whileHover = { { scale : 1.04 } }
whileTap = { { scale : 0.97 } }
className = "inline-flex items-center gap-2 px-6 py-3.5 rounded-xl font-semibold text-white"
style = { { background : 'linear-gradient(135deg, #1877F2, #0C63D4)' , boxShadow : '0 4px 20px rgba(24,119,242,0.3)' } }
>
< svg width = "18" height = "18" viewBox = "0 0 24 24" fill = "white" >
< path d = "M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z" / >
< / svg >
Entrar com Facebook
< / motion.span >
< / Link >
< / div >
< / div >
< / ScrollReveal >
< / section >
2026-05-07 20:04:31 +00:00
< / main >
2026-06-07 22:30:33 +00:00
< PublicFooter / >
2026-05-07 20:04:31 +00:00
< / div >
) ;
}