Update src/app/page.tsx
This commit is contained in:
@@ -13,76 +13,29 @@ 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 { useWorkoutStorage } from '@/hooks/useWorkoutStorage';
|
||||
import { useEffect, useState } from 'react';
|
||||
|
||||
export default function LandingPage() {
|
||||
const { metrics: userMetrics, saveWorkout, getWorkoutsByType } = useWorkoutStorage();
|
||||
const [displayMetrics, setDisplayMetrics] = useState([
|
||||
const displayMetrics = [
|
||||
{ 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." }
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
if (userMetrics) {
|
||||
const updatedMetrics = [
|
||||
{
|
||||
id: "1", value: userMetrics.totalDistance > 0 ? `${Math.round(userMetrics.totalDistance).toLocaleString()}+` : "10.000+", description: "Passos diários rastreados em tempo real com motivação visual de progresso."
|
||||
},
|
||||
{
|
||||
id: "2", value: userMetrics.totalWeight > 0 ? `${Math.round(userMetrics.totalWeight)} kg` : "500 kg", description: "Volume total de peso levantado monitorado com progressão semanal automática."
|
||||
},
|
||||
{
|
||||
id: "3", value: userMetrics.totalDistance > 0 ? `${Math.round(userMetrics.totalDistance)}+ km` : "150+ km", description: "Distância corrida mapeada com GPS, ritmo calculado e calorias precisas."
|
||||
},
|
||||
{
|
||||
id: "4", value: userMetrics.consistency > 0 ? `${userMetrics.consistency} dias` : "42 dias", description: "Sequência de treinos consistentes com badges de dedicação desbloqueados."
|
||||
}
|
||||
];
|
||||
setDisplayMetrics(updatedMetrics);
|
||||
}
|
||||
}, [userMetrics]);
|
||||
];
|
||||
|
||||
const handleCardioInteraction = (data: any) => {
|
||||
saveWorkout({
|
||||
type: 'cardio',
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
data: { ...data, timestamp: Date.now() }
|
||||
});
|
||||
console.log('Cardio interaction:', data);
|
||||
};
|
||||
|
||||
const handleTrainingInteraction = (data: any) => {
|
||||
saveWorkout({
|
||||
type: 'training',
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
data: { ...data, timestamp: Date.now() }
|
||||
});
|
||||
console.log('Training interaction:', data);
|
||||
};
|
||||
|
||||
const handleWorkoutMode = (productId: string, productName: string) => {
|
||||
saveWorkout({
|
||||
type: 'training',
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
data: {
|
||||
workout: productName,
|
||||
startTime: Date.now(),
|
||||
productId,
|
||||
}
|
||||
});
|
||||
console.log('Workout mode:', productId, productName);
|
||||
};
|
||||
|
||||
const handleNutritionSelect = (planId: string, planName: string) => {
|
||||
saveWorkout({
|
||||
type: 'nutrition',
|
||||
date: new Date().toISOString().split('T')[0],
|
||||
data: {
|
||||
plan: planName,
|
||||
planId,
|
||||
selectedAt: Date.now(),
|
||||
}
|
||||
});
|
||||
console.log('Nutrition select:', planId, planName);
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user