feat: adiciona seção de jornada do aluno na landing page

- Implementa timeline interativa do processo
- Adiciona 5 etapas do fluxo de aprendizado
- Inclui métricas de resultados comprovados
- Melhora UX com animações e hover effects
- Mantém responsividade em diferentes dispositivos
This commit is contained in:
Lucas Santana 2024-12-20 09:05:50 -03:00
parent 6f03e72a22
commit 3176e95a75

View File

@ -3,7 +3,11 @@ import { useNavigate } from 'react-router-dom';
import { import {
BookOpen, ArrowRight, School, Users, Shield, BookOpen, ArrowRight, School, Users, Shield,
Sparkles, BookCheck, Play, CheckCircle, Star, Sparkles, BookCheck, Play, CheckCircle, Star,
GraduationCap, BarChart, Brain, Check, X GraduationCap, BarChart, Brain, X, Check,
Pencil,
Wand,
Mic,
Share2
} from 'lucide-react'; } from 'lucide-react';
// Components // Components
@ -223,6 +227,144 @@ export function HomePage() {
</div> </div>
</div> </div>
{/* Student Journey Section */}
<div className="py-20 bg-gradient-to-b from-purple-50 to-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div className="text-center mb-16">
<h2 className="text-3xl font-bold text-gray-900 mb-4">
Jornada do Aluno
</h2>
<p className="text-gray-600 max-w-2xl mx-auto">
Um processo inteligente e envolvente de aprendizado
</p>
</div>
<div className="relative">
{/* Timeline Line */}
<div className="hidden md:block absolute left-1/2 transform -translate-x-1/2 h-full w-0.5 bg-purple-200" />
{/* Timeline Items */}
{[
{
icon: <Pencil className="w-6 h-6" />,
title: "Criação Personalizada",
description: "O aluno cria uma história baseada em seus interesses e características pessoais",
image: "/journey/create-story.png"
},
{
icon: <Wand className="w-6 h-6" />,
title: "Geração por IA",
description: "Nossa IA avançada gera uma história única e personalizada",
image: "/journey/ai-generation.png"
},
{
icon: <Mic className="w-6 h-6" />,
title: "Gravação de Áudio",
description: "O aluno grava sua voz lendo a história criada",
image: "/journey/audio-recording.png"
},
{
icon: <BarChart className="w-6 h-6" />,
title: "Análise de Leitura",
description: "A IA analisa a leitura e fornece feedback detalhado sobre o desempenho",
image: "/journey/reading-analysis.png"
},
{
icon: <Share2 className="w-6 h-6" />,
title: "Compartilhamento de Resultados",
description: "Dados e insights são compartilhados com pais, professores e escola",
image: "/journey/share-results.png"
}
].map((item, index) => (
<div key={index} className={`mb-12 md:mb-24 relative ${
index % 2 === 0 ? 'md:text-right' : ''
}`}>
<div className={`flex items-center gap-8 ${
index % 2 === 0 ? 'md:flex-row-reverse' : ''
}`}>
{/* Content Side */}
<div className="flex-1">
<div className={`bg-white rounded-xl shadow-lg p-6 transform transition-all duration-300 hover:scale-105 ${
index % 2 === 0 ? 'md:ml-auto' : ''
}`}>
<div className="flex items-center gap-4 mb-4">
<div className="w-12 h-12 rounded-full bg-purple-100 flex items-center justify-center text-purple-600">
{item.icon}
</div>
<h3 className="text-xl font-semibold text-gray-900">
{item.title}
</h3>
</div>
<p className="text-gray-600">
{item.description}
</p>
</div>
</div>
{/* Timeline Marker */}
<div className="hidden md:flex items-center justify-center">
<div className="w-12 h-12 rounded-full bg-purple-600 text-white flex items-center justify-center font-bold">
{index + 1}
</div>
</div>
{/* Image Side */}
<div className="flex-1 hidden md:block">
<img
src={item.image}
alt={item.title}
className="rounded-xl shadow-lg w-full max-w-md mx-auto"
/>
</div>
</div>
</div>
))}
</div>
{/* Results Summary */}
<div className="mt-16 bg-white rounded-xl shadow-lg p-8">
<div className="text-center mb-8">
<h3 className="text-2xl font-bold text-gray-900 mb-2">
Resultados Comprovados
</h3>
<p className="text-gray-600">
Nossa abordagem inovadora tem transformado a experiência de leitura
</p>
</div>
<div className="grid md:grid-cols-4 gap-8">
{[
{
number: "95%",
label: "Melhoria na fluência de leitura"
},
{
number: "87%",
label: "Aumento no engajamento"
},
{
number: "92%",
label: "Satisfação dos pais"
},
{
number: "3x",
label: "Mais histórias lidas por aluno"
}
].map((stat, index) => (
<div key={index} className="text-center">
<div className="text-3xl font-bold text-purple-600 mb-2">
{stat.number}
</div>
<p className="text-gray-600 text-sm">
{stat.label}
</p>
</div>
))}
</div>
</div>
</div>
</div>
{/* Features Grid */} {/* Features Grid */}
<div className="py-20 bg-white"> <div className="py-20 bg-white">
<div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"> <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">