Merge version_2 into main #8

Merged
bender merged 4 commits from version_2 into main 2026-03-11 19:40:17 +00:00
4 changed files with 290 additions and 211 deletions

View File

@@ -1,6 +1,7 @@
"use client";
'use client';
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import React from 'react';
import { ThemeProvider } from '@/providers/themeProvider/ThemeProvider';
import NavbarStyleCentered from '@/components/navbar/NavbarStyleCentered/NavbarStyleCentered';
import HeroSplitKpi from '@/components/sections/hero/HeroSplitKpi';
import FeatureCardTwentyFive from '@/components/sections/feature/FeatureCardTwentyFive';
@@ -12,242 +13,300 @@ import TestimonialCardTwelve from '@/components/sections/testimonial/Testimonial
import SocialProofOne from '@/components/sections/socialProof/SocialProofOne';
import ContactText from '@/components/sections/contact/ContactText';
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
import { Activity, Apple, Brain, Dumbbell, Heart, Target, Zap, Users, Star, TrendingDown, TrendingUp } from 'lucide-react';
import { Zap, Dumbbell, Apple, TrendingUp } from 'lucide-react';
export default function LandingPage() {
const navItems = [
{ name: 'Home', id: '/' },
{ name: 'Features', id: 'onboarding' },
{ name: 'Pricing', id: 'nutrition' },
{ name: 'Team', id: 'team' },
{ name: 'Contact', id: 'contact' },
];
const Page = () => {
return (
<ThemeProvider
defaultButtonVariant="elastic-effect"
defaultButtonVariant="text-stagger"
defaultTextAnimation="entrance-slide"
borderRadius="pill"
contentWidth="smallMedium"
sizing="mediumSizeLargeTitles"
background="blurBottom"
cardStyle="gradient-bordered"
primaryButtonStyle="flat"
borderRadius="rounded"
contentWidth="medium"
sizing="medium"
background="circleGradient"
cardStyle="glass-elevated"
primaryButtonStyle="gradient"
secondaryButtonStyle="glass"
headingFontWeight="extrabold"
headingFontWeight="normal"
>
<div id="nav" data-section="nav">
<NavbarStyleCentered
navItems={[
{ name: "Dashboard", id: "dashboard" },
{ name: "Treino", id: "training" },
{ name: "Nutrição", id: "nutrition" },
{ name: "Comunidade", id: "community" },
{ name: "Perfil", id: "profile" }
]}
button={{ text: "Começar Agora", href: "contact" }}
brandName="FitFlow Pro"
navItems={navItems}
brandName="FitFlow"
/>
</div>
<div id="hero" data-section="hero">
<HeroSplitKpi
title="Seu Corpo, Seu Histórico, Sua Vitória"
description="Aplicativo premium de fitness com rastreamento biométrico inteligente, treinos personalizados por IA e cardio com GPS. Transforme seu corpo enquanto acompanha cada segundo da jornada."
tag="Fitness Ultra-Premium"
title="Transform Your Fitness Journey"
description="Track workouts, monitor nutrition, and achieve your goals with our comprehensive fitness platform."
background={{ variant: 'circleGradient' }}
tag="Fitness Platform"
tagIcon={Zap}
background={{ variant: "glowing-orb" }}
tagAnimation="slide-up"
kpis={[
{ value: "150K+", label: "Usuários Ativos" },
{ value: "2M+", label: "Treinos Concluídos" },
{ value: "4.9★", label: "Avaliação" }
{ value: '500K+', label: 'Active Users' },
{ value: '1M+', label: 'Workouts Tracked' },
{ value: '50+', label: 'Fitness Experts' }
]}
enableKpiAnimation={true}
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/ultra-modern-fitness-app-dashboard-with--1773256981295-f56c580b.png?_wi=1"
imageAlt="Dashboard de fitness premium"
imagePosition="right"
mediaAnimation="slide-up"
buttons={[
{ text: "Começar Teste Grátis", href: "contact" },
{ text: "Ver Demo", href: "#features" }
{ text: 'Start Free Trial', href: '/signup' },
{ text: 'Learn More', href: '#features' }
]}
avatars={[
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/professional-athlete-portrait-male-fitne-1773256979726-5009f852.png", alt: "Usuário" },
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/fit-female-athlete-portrait-determined-e-1773256980310-c05dce2f.png", alt: "Usuário" },
{ src: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/athletic-male-trainer-portrait-confident-1773256979906-c5e05a88.png", alt: "Usuário" }
]}
avatarText="Join 150K+ athletes"
buttonAnimation="slide-up"
mediaAnimation="slide-up"
imageSrc="/placeholders/placeholder1.webp"
imageAlt="Fitness tracking dashboard"
imagePosition="right"
/>
</div>
<div id="onboarding" data-section="onboarding">
<FeatureCardTwentyFive
title="Onboarding Biométrico Dinâmico"
description="Sistema inteligente que adapta-se ao seu corpo. Defina seu objetivo, e o app calcula automaticamente sua timeline de sucesso com precisão científica."
tag="Inteligência Adaptativa"
tagIcon={Brain}
title="Get Started in 3 Simple Steps"
description="Onboard quickly and start your fitness transformation today."
tag="Onboarding"
tagIcon={Zap}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
features={[
{
title: "Perfil Biométrico", description: "Coloque seus dados (gênero, altura, peso, idade) e veja o app adaptar todas as demonstrações, avatares e ilustrações anatomicamente.", icon: Target,
title: 'Create Your Profile',
description: 'Set up your account with your fitness goals.',
icon: Zap,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/premium-onboarding-screen-for-fitness-ap-1773256981180-774b293c.png", imageAlt: "Tela de biometria"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/ultra-modern-fitness-app-dashboard-with--1773256981295-f56c580b.png?_wi=2", imageAlt: "Dashboard adaptado"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Profile setup' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Goals selection' }
]
},
{
title: "Metas Inteligentes", description: "Escolha: Perder Peso ou Ganhar Massa. O sistema calcula TMB, projeta planilha de metas e mostra exatamente quando você atingirá seu objetivo.", icon: Zap,
title: 'Connect Your Devices',
description: 'Sync with your fitness trackers and smartwatches.',
icon: Dumbbell,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/nutrition-dashboard-showing-meal-plans-d-1773256981349-9348b6d9.png", imageAlt: "Plano de nutrição"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/performance-metrics-showcase-displaying--1773256982260-f9a5cff0.png?_wi=1", imageAlt: "Métricas de progresso"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Device sync' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Integration' }
]
},
{
title: 'Start Tracking',
description: 'Log workouts and monitor your progress in real-time.',
icon: TrendingUp,
mediaItems: [
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Workout tracking' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Progress dashboard' }
]
}
]}
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: 'Get Started Now', href: '/signup' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="cardio" data-section="cardio">
<FeatureCardTwentyFive
title="Hub de Cardio com GPS em Tempo Real"
description="Rastreie suas corridas e caminhadas com precisão de GPS. Monitore pace, distância, calorias queimadas e vença suas metas diárias com anéis de progresso animados."
tag="Cardio Premium"
tagIcon={Heart}
title="Cardio Workouts"
description="High-intensity interval training and endurance workouts."
tag="Cardio"
tagIcon={Zap}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
features={[
{
title: "Running Tracker Avançado", description: "GPS ativado em tempo real. Mapeia sua rota, calcula queima de calorias baseado no peso, mostra ritmo ao vivo em painel estilo smartwatch.", icon: Zap,
title: 'HIIT Training',
description: 'Burn calories with high-intensity interval training.',
icon: Zap,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/gps-running-tracker-interface-with-real--1773256980694-2abe167e.png", imageAlt: "Rastreamento GPS"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/performance-metrics-showcase-displaying--1773256982260-f9a5cff0.png?_wi=2", imageAlt: "Métricas de cardio"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'HIIT workout' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'HIIT results' }
]
},
{
title: "Pedômetro & Caminhada", description: "Contador de passos embutido com rastreamento de distância e calorias. Vença suas metas de 10.000 passos com visual de anéis de progresso motivacional.", icon: Activity,
title: 'Running Plans',
description: 'Personalized running programs for all levels.',
icon: TrendingUp,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/ultra-modern-fitness-app-dashboard-with--1773256981295-f56c580b.png?_wi=3", imageAlt: "Dashboard de passos"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/performance-metrics-showcase-displaying--1773256982260-f9a5cff0.png?_wi=3", imageAlt: "Progresso de atividade"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Running plan' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Running stats' }
]
},
{
title: 'Cycling Routes',
description: 'Discover and track cycling routes in your area.',
icon: Dumbbell,
mediaItems: [
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Cycling route' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Route map' }
]
}
]}
animationType="depth-3d"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: 'Explore Cardio', href: '#workouts' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="training" data-section="training">
<FeatureCardTwentyFive
title="Core de Treinamento com IA"
description="Algoritmo adaptativo que recomenda treinos baseado em biometria. Escolha entre Casa (calistenia) ou Ginásio (máquinas/pesos) e isole por grupo muscular com modelo anatômico 3D interativo."
tag="Recomendação de IA"
tagIcon={Brain}
title="Strength Training"
description="Build muscle and increase strength with guided workouts."
tag="Training"
tagIcon={Dumbbell}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
features={[
{
title: "Dualidade de Ambientes", description: "Treinos em Casa (peso corporal, calistenia) ou Ginásio (máquinas, pesos livres). Sistema diferencia automaticamente baseado em sua escolha e disponibilidade de equipamento.", icon: Dumbbell,
title: 'Muscle Building',
description: 'Progressive programs to build and tone muscles.',
icon: Dumbbell,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/interactive-anatomical-body-model-showin-1773256980448-3cccd7b3.png?_wi=1", imageAlt: "Seleção de exercícios"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/workout-execution-interface-showing-set--1773256980664-da11c464.png?_wi=1", imageAlt: "Execução de treino"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Weight lifting' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Muscle gain' }
]
},
{
title: "Isolamento por Grupo Muscular", description: "Modelo anatômico 3D/2D interativo. Clique em um músculo (peitoral, glúteo, etc.) e veja lista filtrada de exercícios com foco nesse músculo específico.", icon: Zap,
title: 'Form Guide',
description: 'Video tutorials and form checks for exercises.',
icon: Zap,
mediaItems: [
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/interactive-anatomical-body-model-showin-1773256980448-3cccd7b3.png?_wi=2", imageAlt: "Anatomia interativa"
},
{
imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/workout-execution-interface-showing-set--1773256980664-da11c464.png?_wi=2", imageAlt: "Exercícios filtrados"
}
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Exercise form' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Video guide' }
]
},
{
title: 'Recovery Tips',
description: 'Expert advice on rest days and recovery techniques.',
icon: Apple,
mediaItems: [
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Recovery' },
{ type: 'image', src: '/placeholders/placeholder1.webp', alt: 'Rest day' }
]
}
]}
animationType="scale-rotate"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: 'View Training Plans', href: '#plans' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="workout-mode" data-section="workout-mode">
<ProductCardOne
title="Modo 'Em Execução' - Tracking de Série"
description="Interface imersiva que transforma o treino em experiência interativa com cronômetro de descanso, registro de progresso e gráficos de progressão."
tag="Focus Mode"
tagIcon={Target}
title="Workout Modes"
description="Choose from various workout modes to suit your fitness level."
tag="Workouts"
tagIcon={Zap}
tagAnimation="slide-up"
textboxLayout="default"
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
useInvertedBackground={false}
products={[
{
id: "1", name: "Iniciar Série", price: "Botão Proeminente", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/workout-execution-interface-showing-set--1773256980664-da11c464.png?_wi=3", imageAlt: "Tela de série"
id: '1',
name: 'Beginner Workouts',
price: 'Free',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Beginner workout'
},
{
id: "2", name: "Cronômetro de Descanso", price: "Automático", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/workout-execution-interface-showing-set--1773256980664-da11c464.png?_wi=4", imageAlt: "Descanso entre séries"
id: '2',
name: 'Intermediate Training',
price: '$9.99/mo',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Intermediate workout'
},
{
id: "3", name: "Registrar Progresso", price: "Carga + Reps", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/performance-metrics-showcase-displaying--1773256982260-f9a5cff0.png?_wi=4", imageAlt: "Progresso salvo"
id: '3',
name: 'Advanced Programs',
price: '$19.99/mo',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Advanced workout'
},
{
id: '4',
name: 'Expert Coaching',
price: '$49.99/mo',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Expert coaching'
}
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
gridVariant="three-columns-all-equal-width"
buttons={[
{ text: 'View All Modes', href: '#modes' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="nutrition" data-section="nutrition">
<PricingCardOne
title="Nutrição Inteligente & Receituário"
description="Planos alimentares 100% sincronizados com suas metas de peso. Se quer perder peso, déficit calórico. Se quer ganhar massa, superávit inteligente."
tag="Sincronizado com Timeline"
title="Nutrition Plans"
description="Personalized meal plans tailored to your fitness goals."
tag="Nutrition"
tagIcon={Apple}
tagAnimation="slide-up"
textboxLayout="default"
animationType="slide-up"
useInvertedBackground={false}
plans={[
{
id: "deficit", badge: "Perda de Peso", badgeIcon: TrendingDown,
price: "Déficit Calórico", subtitle: "Receitas otimizadas para queima de calorias", features: [
"Macros calculados automaticamente", "Prep time entre 15-30 min", "Proteína alta, carboidrato estratégico", "Rastreamento integrado", "Sugestões diárias personalizadas"
]
id: 'basic',
badge: 'Basic',
price: '$9.99',
subtitle: 'per month',
features: ['Basic meal plans', 'Calorie tracking', 'Recipe suggestions']
},
{
id: "surplus", badge: "Ganho de Massa", badgeIcon: TrendingUp,
price: "Superávit Estratégico", subtitle: "Nutrição para crescimento muscular", features: [
"Calorias calculadas para ganho", "Proteína máxima (2g por kg)", "Carbos pré e pós-treino", "Tempo de preparo eficiente", "Sincronizado com treino de força"
]
id: 'pro',
badge: 'Pro',
badgeIcon: Zap,
price: '$29.99',
subtitle: 'per month',
features: ['Advanced meal plans', 'Macro tracking', 'Expert guidance', 'Weekly recipes']
},
{
id: 'elite',
badge: 'Elite',
price: '$59.99',
subtitle: 'per month',
features: ['Custom meal plans', 'Personal nutritionist', '24/7 support', 'Supplement guide']
}
]}
animationType="slide-up"
textboxLayout="default"
useInvertedBackground={false}
buttons={[
{ text: 'Choose Plan', href: '/pricing' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="metrics" data-section="metrics">
<MetricCardFourteen
title="Suas Conquistas Importam. Veja Cada Número."
tag="Performance Metrics"
title="Your Progress"
tag="Metrics"
tagAnimation="slide-up"
metrics={[
{
id: "1", value: "10.000+", description: "Passos diários rastreados em tempo real com motivação visual de progresso."
},
{
id: "2", value: "500 kg", description: "Volume total de peso levantado monitorado com progressão semanal automática."
},
{
id: "3", value: "150+ km", description: "Distância corrida mapeada com GPS, ritmo calculado e calorias precisas."
},
{
id: "4", value: "42 dias", description: "Sequência de treinos consistentes com badges de dedicação desbloqueados."
}
{ id: '1', value: '2,450', description: 'Calories Burned' },
{ id: '2', value: '45', description: 'Workouts Completed' },
{ id: '3', value: '12', description: 'Pounds Lost' },
{ id: '4', value: '92%', description: 'Goal Achievement' }
]}
metricsAnimation="slide-up"
useInvertedBackground={false}
@@ -256,28 +315,49 @@ export default function LandingPage() {
<div id="team" data-section="team">
<TeamCardOne
title="Comunidade de Atletas Profissionais"
description="Feed social onde você compartilha rotas de corrida, estatísticas de treino e compete em rankings semanais com outros usuários."
tag="Gamificação Social"
tagIcon={Users}
title="Meet Our Fitness Experts"
description="Learn from certified trainers and nutritionists."
tag="Team"
tagIcon={Zap}
tagAnimation="slide-up"
textboxLayout="default"
gridVariant="four-items-2x2-equal-grid"
animationType="slide-up"
useInvertedBackground={false}
members={[
{
id: "1", name: "Marcus A.", role: "Elite Runner", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/professional-athlete-portrait-male-fitne-1773256979726-5009f852.png?_wi=1", imageAlt: "Marcus A."
id: '1',
name: 'Sarah Johnson',
role: 'Certified Personal Trainer',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Sarah Johnson'
},
{
id: "2", name: "Ana L.", role: "Strength Coach", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/fit-female-athlete-portrait-determined-e-1773256980310-c05dce2f.png?_wi=1", imageAlt: "Ana L."
id: '2',
name: 'Mike Chen',
role: 'Nutrition Specialist',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Mike Chen'
},
{
id: "3", name: "Rafael S.", role: "Nutrition Expert", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/athletic-male-trainer-portrait-confident-1773256979906-c5e05a88.png?_wi=1", imageAlt: "Rafael S."
id: '3',
name: 'Emma Davis',
role: 'Yoga Instructor',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Emma Davis'
},
{
id: "4", name: "Sofia M.", role: "Fitness Trainer", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/female-fitness-coach-portrait-profession-1773256979710-97e8b5fe.png?_wi=1", imageAlt: "Sofia M."
id: '4',
name: 'James Wilson',
role: 'Strength Coach',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'James Wilson'
}
]}
animationType="blur-reveal"
textboxLayout="default"
useInvertedBackground={false}
gridVariant="four-items-2x2-equal-grid"
buttons={[
{ text: 'Meet the Team', href: '#experts' }
]}
buttonAnimation="slide-up"
/>
</div>
@@ -285,99 +365,98 @@ export default function LandingPage() {
<TestimonialCardTwelve
testimonials={[
{
id: "1", name: "Carlos M.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/professional-athlete-portrait-male-fitne-1773256979726-5009f852.png?_wi=2", imageAlt: "Carlos M."
id: '1',
name: 'Alex Rodriguez',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Alex Rodriguez'
},
{
id: "2", name: "Beatriz R.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/fit-female-athlete-portrait-determined-e-1773256980310-c05dce2f.png?_wi=2", imageAlt: "Beatriz R."
id: '2',
name: 'Lisa Chen',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Lisa Chen'
},
{
id: "3", name: "Diego P.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/athletic-male-trainer-portrait-confident-1773256979906-c5e05a88.png?_wi=2", imageAlt: "Diego P."
id: '3',
name: 'Michael Brown',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Michael Brown'
},
{
id: "4", name: "Juliana T.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/female-fitness-coach-portrait-profession-1773256979710-97e8b5fe.png?_wi=2", imageAlt: "Juliana T."
},
{
id: "5", name: "Lucas F.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/young-athlete-male-portrait-energetic-ex-1773256982698-63e4e494.png", imageAlt: "Lucas F."
},
{
id: "6", name: "Marina S.", imageSrc: "https://webuild-dev.s3.eu-north-1.amazonaws.com/users/user_3AoRNSPr0mCBj85JKsHl7qxTHsl/female-athlete-portrait-fit-build-profes-1773256980134-0faaa8fa.png", imageAlt: "Marina S."
id: '4',
name: 'Jessica Taylor',
imageSrc: '/placeholders/placeholder1.webp',
imageAlt: 'Jessica Taylor'
}
]}
cardTitle="Mais de 150 mil atletas já transformaram seu corpo com FitFlow Pro"
cardTag="Veja o que eles dizem"
cardTagIcon={Star}
cardAnimation="blur-reveal"
cardTitle="Trusted by 500k+ users worldwide"
cardTag="Success Stories"
cardTagIcon={Zap}
cardAnimation="slide-up"
useInvertedBackground={false}
/>
</div>
<div id="social-proof" data-section="social-proof">
<SocialProofOne
title="Confiado pelos Maiores Aplicativos e Plataformas de Fitness"
description="FitFlow Pro integra-se perfeitamente com os ecossistemas de saúde mais populares do mundo."
tag="Parcerias Premium"
title="Featured In"
description="Recognized by leading fitness and wellness publications."
tag="Social Proof"
tagIcon={Zap}
logos={[
"http://img.b2bpic.net/free-vector/heart-love-logo_126523-2763.jpg", "http://img.b2bpic.net/free-photo/woman-with-phone-sportswear_1303-8805.jpg", "http://img.b2bpic.net/free-vector/flat-design-fitness-trackers-heart-rate-menu_23-2148515781.jpg", "http://img.b2bpic.net/free-photo/close-up-woman-holding-phone_23-2148889655.jpg", "http://img.b2bpic.net/free-photo/close-up-man-using-phone-while-electric-bike_23-2149098678.jpg", "http://img.b2bpic.net/free-vector/fitness-trackers-concept_23-2148527033.jpg", "http://img.b2bpic.net/free-photo/cropped-view-sexy-bodybuilder-showing-thumbs-up_1153-6281.jpg", "http://img.b2bpic.net/free-photo/phone-muscular-hand-guy-sitting-city-morning-he-holds-bottle-water-headphones_197531-1155.jpg"
]}
names={[
"Apple Fitness", "Strava", "Fitbit", "Google Fit", "Peloton", "MyFitnessPal", "Garmin", "Nike Training"
]}
tagAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
speed={40}
showCard={true}
names={['Fitness Magazine', 'Wellness Today', 'Health News', 'Trainer Weekly', 'Sports Life']}
buttons={[
{ text: 'Read Our Press', href: '#press' }
]}
buttonAnimation="slide-up"
/>
</div>
<div id="contact" data-section="contact">
<ContactText
text="Pronto para transformar seu corpo? Começar seu teste gratuito de 30 dias agora e veja por que 150 mil atletas confiam em FitFlow Pro."
text="Ready to transform your fitness journey? Start your free trial today and unlock your potential."
animationType="entrance-slide"
buttons={[
{ text: "Começar Teste Grátis", href: "contact" },
{ text: "Conversar com Especialista", href: "#contact" }
]}
background={{ variant: "sparkles-gradient" }}
background={{ variant: 'sparkles-gradient' }}
useInvertedBackground={false}
buttons={[
{ text: 'Start Free Trial', href: '/signup' },
{ text: 'Contact Us', href: 'mailto:info@fitflow.com' }
]}
/>
</div>
<div id="footer" data-section="footer">
<FooterLogoEmphasis
logoText="FitFlow"
columns={[
{
items: [
{ label: "Dashboard", href: "#dashboard" },
{ label: "Treino", href: "#training" },
{ label: "Nutrição", href: "#nutrition" }
{ label: 'About', href: '#about' },
{ label: 'Blog', href: '#blog' },
{ label: 'Careers', href: '#careers' }
]
},
{
items: [
{ label: "Cardio Hub", href: "#cardio" },
{ label: "Comunidade", href: "#community" },
{ label: "Perfil", href: "#profile" }
{ label: 'Privacy', href: '#privacy' },
{ label: 'Terms', href: '#terms' },
{ label: 'Contact', href: '#contact' }
]
},
{
items: [
{ label: "Blog", href: "#blog" },
{ label: "Ajuda", href: "#help" },
{ label: "Suporte", href: "#support" }
]
},
{
items: [
{ label: "Privacidade", href: "#privacy" },
{ label: "Termos", href: "#terms" },
{ label: "Contato", href: "#contact" }
{ label: 'Twitter', href: 'https://twitter.com' },
{ label: 'Instagram', href: 'https://instagram.com' },
{ label: 'LinkedIn', href: 'https://linkedin.com' }
]
}
]}
logoText="FitFlow Pro"
/>
</div>
</ThemeProvider>
);
}
};
export default Page;

View File

@@ -6,10 +6,10 @@ import { useCardAnimation } from '@/components/cardStack/hooks/useCardAnimation'
const AutoCarousel: React.FC<AutoCarouselProps> = ({ items, className = '' }) => {
const animation = useCardAnimation();
const itemRefs = React.useRef<(HTMLElement | null)[]>([]);
const itemRefs = React.useRef<(HTMLDivElement | null)[]>([]);
return (
<div ref={animation.bottomContentRef} className={`auto-carousel ${className}`}>
<div ref={animation.bottomContentRef as React.Ref<HTMLDivElement>} className={`auto-carousel ${className}`}>
{items.map((item, index) => (
<div key={item.id || index} ref={(el) => { if (el) itemRefs.current[index] = el; }} className="carousel-item">
{item.title}

View File

@@ -6,10 +6,10 @@ import { useCardAnimation } from '@/components/cardStack/hooks/useCardAnimation'
const ButtonCarousel: React.FC<ButtonCarouselProps> = ({ items, className = '' }) => {
const animation = useCardAnimation();
const itemRefs = React.useRef<(HTMLElement | null)[]>([]);
const itemRefs = React.useRef<(HTMLDivElement | null)[]>([]);
return (
<div ref={animation.bottomContentRef} className={`button-carousel ${className}`}>
<div ref={animation.bottomContentRef as React.Ref<HTMLDivElement>} className={`button-carousel ${className}`}>
{items.map((item, index) => (
<div key={item.id || index} ref={(el) => { if (el) itemRefs.current[index] = el; }} className="carousel-item">
{item.title}

View File

@@ -6,12 +6,12 @@ import { useCardAnimation } from '@/components/cardStack/hooks/useCardAnimation'
const GridLayout: React.FC<GridLayoutProps> = ({ items, className = '' }) => {
const animation = useCardAnimation();
const itemRefs = React.useRef<(HTMLElement | null)[]>([]);
const itemRefs = React.useRef<(HTMLDivElement | null)[]>([]);
return (
<div ref={animation.containerRef} className={`grid-layout ${className}`}>
<div ref={animation.perspectiveRef} className="grid-perspective">
<div ref={animation.bottomContentRef} className="grid-container">
<div ref={animation.containerRef as React.Ref<HTMLDivElement>} className={`grid-layout ${className}`}>
<div ref={animation.perspectiveRef as React.Ref<HTMLDivElement>} className="grid-perspective">
<div ref={animation.bottomContentRef as React.Ref<HTMLDivElement>} className="grid-container">
{items.map((item, index) => (
<div key={item.id || index} ref={(el) => { if (el) itemRefs.current[index] = el; }} className="grid-item">
{item.title}