File size: 7,292 Bytes
a187dbb
a8b4336
a187dbb
 
a8b4336
 
a187dbb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8b4336
 
 
a187dbb
a8b4336
 
 
a187dbb
 
 
 
 
 
 
 
 
 
 
 
 
 
a8b4336
a187dbb
a8b4336
a187dbb
 
 
 
 
 
a8b4336
 
a187dbb
a8b4336
a187dbb
 
 
 
 
 
a8b4336
 
a187dbb
a8b4336
a187dbb
 
 
 
 
 
 
 
a8b4336
a187dbb
a8b4336
 
a187dbb
 
 
 
 
 
 
 
a8b4336
a187dbb
 
a8b4336
 
a187dbb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a8b4336
a187dbb
 
 
 
 
 
 
 
 
 
 
 
a8b4336
 
a187dbb
a8b4336
 
a187dbb
 
a8b4336
 
a187dbb
 
a8b4336
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
import { useState, useEffect } from 'react'
import Link from 'next/link'
import { motion } from 'framer-motion'
import { HiSparkles, HiArrowRight, HiBookOpen, HiLightningBolt, HiPlay } from 'react-icons/hi'

export default function Hero() {
  const [mounted, setMounted] = useState(false)

  useEffect(() => {
    setMounted(true)
  }, [])

  const stats = [
    { number: '50+', label: 'Prompts Especializados', delay: 0.1 },
    { number: '3', label: 'Áreas de Atuação', delay: 0.2 },
    { number: '100%', label: 'Gratuito', delay: 0.3 }
  ]

  const floatingCards = [
    {
      icon: HiBookOpen,
      title: 'Prompts Jurídicos',
      description: 'Peticionamento, petições e contratos',
      delay: 0.4,
      position: { top: '-2rem', left: '-2rem' }
    },
    {
      icon: HiLightningBolt,
      title: 'Concursos Públicos',
      description: 'Estudo e revisão direcionada',
      delay: 0.6,
      position: { top: '4rem', right: '-2rem' }
    },
    {
      icon: HiSparkles,
      title: 'Administrativo',
      description: 'Gestão e organização',
      delay: 0.8,
      position: { bottom: '2rem', left: '1rem' }
    }
  ]

  if (!mounted) {
    return (
      <section className="relative bg-gradient-to-br from-primary-600 via-primary-700 to-primary-800 text-white overflow-hidden min-h-screen flex items-center">
        <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20">
          <div className="text-center">
            <div className="animate-pulse">
              <div className="h-12 bg-white/20 rounded-lg mb-6 w-96 mx-auto"></div>
              <div className="h-8 bg-white/20 rounded-lg mb-4 w-3/4 mx-auto"></div>
              <div className="h-6 bg-white/20 rounded-lg mb-8 w-1/2 mx-auto"></div>
            </div>
          </div>
        </div>
      </section>
    )
  }

  return (
    <section className="relative bg-gradient-to-br from-primary-600 via-primary-700 to-primary-800 text-white overflow-hidden">
      {/* Background Pattern */}
      <div className="absolute inset-0 bg-pattern opacity-10" aria-hidden="true"></div>
      
      <div className="relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 lg:py-32">
        <div className="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
          {/* Content */}
          <motion.div
            initial={{ opacity: 0, y: 30 }}
            animate={{ opacity: 1, y: 0 }}
            transition={{ duration: 0.8 }}
            className="text-center lg:text-left"
          >
            <motion.div 
              className="flex items-center justify-center lg:justify-start space-x-2 mb-6"
              initial={{ opacity: 0, scale: 0.8 }}
              animate={{ opacity: 1, scale: 1 }}
              transition={{ delay: 0.2, duration: 0.6 }}
            >
              <HiSparkles className="h-6 w-6 text-accent-400" aria-hidden="true" />
              <span className="text-accent-400 font-semibold">IA para Profissionais</span>
            </motion.div>
            
            <motion.h1 
              className="text-4xl lg:text-6xl font-bold mb-6 leading-tight"
              initial={{ opacity: 0, y: 20 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ delay: 0.3, duration: 0.8 }}
            >
              Transforme sua Prática 
              <span className="text-accent-400"> Jurídica e Administrativa</span> com IA
            </motion.h1>
            
            <motion.p 
              className="text-xl lg:text-2xl text-primary-100 mb-8 leading-relaxed"
              initial={{ opacity: 0, y: 20 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ delay: 0.4, duration: 0.8 }}
            >
              Aprenda a usar Inteligência Artificial no dia a dia de escritórios jurídicos, 
              administrativos e nos seus estudos para concursos públicos.
            </motion.p>

            <motion.div 
              className="flex flex-col sm:flex-row space-y-4 sm:space-y-0 sm:space-x-4 justify-center lg:justify-start"
              initial={{ opacity: 0, y: 20 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ delay: 0.5, duration: 0.8 }}
            >
              <Link href="/prompts" className="btn-primary flex items-center justify-center space-x-2 group">
                <HiBookOpen className="h-5 w-5 group-hover:scale-110 transition-transform duration-200" aria-hidden="true" />
                <span>Biblioteca de Prompts</span>
                <HiArrowRight className="h-5 w-5 group-hover:translate-x-1 transition-transform duration-200" aria-hidden="true" />
              </Link>
              
              <button 
                className="btn-secondary flex items-center justify-center space-x-2 text-white border-white hover:bg-white hover:text-primary-700 group"
                onClick={() => {
                  const element = document.querySelector('#sobre')
                  if (element) element.scrollIntoView({ behavior: 'smooth' })

              >
                <HiPlay className="h-5 w-5 group-hover:scale-110 transition-transform duration-200" aria-hidden="true" />
                <span>Como Funciona</span>
              </button>
            </motion.div>

            {/* Stats */}
            <motion.div 
              className="grid grid-cols-3 gap-6 mt-12 pt-8 border-t border-primary-500"
              initial={{ opacity: 0, y: 20 }}
              animate={{ opacity: 1, y: 0 }}
              transition={{ delay: 0.6, duration: 0.8 }}
            >
              {stats.map((stat, index) => (
                <motion.div 
                  key={index}
                  className="text-center"
                  initial={{ opacity: 0, scale: 0.8 }}
                  animate={{ opacity: 1, scale: 1 }}
                  transition={{ delay: stat.delay, duration: 0.6 }}
                >
                  <div className="text-2xl font-bold text-accent-400">{stat.number}</div>
                  <div className="text-sm text-primary-200">{stat.label}</div>
                </motion.div>
              ))}
            </motion.div>
          </motion.div>

          {/* Floating Cards */}
          <div className="hidden lg:block relative">
            {floatingCards.map((card, index) => (
              <motion.div
                key={index}
                className="absolute glass-effect rounded-xl p-6 border border-white/20 animate-float"
                style={card.position}
                initial={{ opacity: 0, scale: 0.8 }}
                animate={{ opacity: 1, scale: 1 }}
                transition={{ delay: card.delay, duration: 0.8 }}
                whileHover={{ scale: 1.05 }}
              >
                <div className="flex items-center space-x-3">
                  <div className="bg-accent-500 p-2 rounded-lg">
                    <card.icon className="h-5 w-5 text-white" aria-hidden="true" />
                  </div>
                  <div>
                    <div className="font-semibold">{card.title}</div>
                    <div className="text-sm text-primary-200">{card.description}</div>
                  </div>
                </div>
              </motion.div>
            ))}
          </div>
        </div>
      </div>
    </section>
  )
}