Skip to content

Commit 4e90404

Browse files
committed
feat: revisão inicial
1 parent 9ebec07 commit 4e90404

File tree

5 files changed

+207
-202
lines changed

5 files changed

+207
-202
lines changed

src/components/Hero.tsx

Lines changed: 8 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,18 @@
1-
import { Button } from "@/components/ui/button";
2-
import { ArrowRight, Zap, Code, Sparkles } from "lucide-react";
1+
import { ReactNode } from "react";
32

4-
const Hero = () => {
3+
interface HeroProps {
4+
children: ReactNode;
5+
}
6+
7+
const Hero = ({ children }: HeroProps) => {
58
return (
69
<section className="py-20 px-6 text-center relative overflow-hidden">
710
<div className="absolute inset-0 bg-gradient-hero opacity-5"></div>
811
<div className="container mx-auto relative">
9-
<div className="max-w-4xl mx-auto">
10-
<div className="flex items-center justify-center mb-6">
11-
<div className="flex items-center space-x-2 bg-primary/10 px-4 py-2 rounded-full">
12-
<Sparkles className="w-4 h-4 text-primary" />
13-
<span className="text-sm font-medium text-primary">Ferramentas modernas para o desenvolvedor</span>
14-
</div>
15-
</div>
16-
17-
<h1 className="text-5xl md:text-7xl font-bold mb-6 bg-gradient-hero bg-clip-text text-transparent leading-tight">
18-
Simplifique seu ambiente de desenvolvimento
19-
</h1>
20-
21-
<p className="text-xl md:text-2xl text-muted-foreground mb-8 max-w-3xl mx-auto">
22-
Ferramentas modernas e elegantes para acelerar seu workflow. Foque no que importa: o negócio do cliente!
23-
</p>
24-
25-
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
26-
<Button
27-
size="lg"
28-
className="bg-gradient-primary shadow-glow text-lg px-8 py-6"
29-
onClick={() => window.location.href = '/docs'}
30-
>
31-
<Zap className="w-5 h-5 mr-2" />
32-
Começar Agora
33-
<ArrowRight className="w-5 h-5 ml-2" />
34-
</Button>
35-
<Button variant="outline" size="lg" className="text-lg px-8 py-6">
36-
<Code className="w-5 h-5 mr-2" />
37-
Ver Exemplos
38-
</Button>
39-
</div>
40-
41-
<div className="grid grid-cols-1 md:grid-cols-3 gap-8 mt-16">
42-
<div className="text-center">
43-
<div className="w-12 h-12 bg-gradient-primary rounded-xl mx-auto mb-4 flex items-center justify-center">
44-
<Code className="w-6 h-6 text-primary-foreground" />
45-
</div>
46-
<h3 className="text-lg font-semibold mb-2">Simples</h3>
47-
<p className="text-muted-foreground">
48-
Pensado para simplificar as stacks de desenvolvimento
49-
</p>
50-
</div>
51-
52-
<div className="text-center">
53-
<div className="w-12 h-12 bg-gradient-accent rounded-xl mx-auto mb-4 flex items-center justify-center">
54-
<Zap className="w-6 h-6 text-accent-foreground" />
55-
</div>
56-
<h3 className="text-lg font-semibold mb-2">Performático</h3>
57-
<p className="text-muted-foreground">
58-
Otimizado para alta performance e baixo overhead
59-
</p>
60-
</div>
61-
62-
<div className="text-center">
63-
<div className="w-12 h-12 bg-gradient-success rounded-xl mx-auto mb-4 flex items-center justify-center">
64-
<Sparkles className="w-6 h-6 text-success-foreground" />
65-
</div>
66-
<h3 className="text-lg font-semibold mb-2">Moderno</h3>
67-
<p className="text-muted-foreground">Usando as melhores práticas e padrões atuais</p>
68-
</div>
69-
</div>
70-
</div>
12+
{children}
7113
</div>
7214
</section>
7315
);
7416
};
7517

76-
export default Hero;
18+
export default Hero;

src/pages/Constructo.tsx

Lines changed: 30 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { Button } from "@/components/ui/button";
44
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card";
55
import { Badge } from "@/components/ui/badge";
66
import { Code, Download, ExternalLink, CheckCircle, Zap, Settings, Database } from "lucide-react";
7+
import Hero from "@/components/Hero.tsx";
78

89
const Constructo = () => {
910
const features = [
@@ -53,41 +54,38 @@ $service = $container->resolve(UserService::class);`;
5354
<Header />
5455

5556
{/* Hero Section */}
56-
<section className="py-20 px-6 text-center relative overflow-hidden">
57-
<div className="absolute inset-0 bg-gradient-hero opacity-5"></div>
58-
<div className="container mx-auto text-center">
59-
<div className="w-20 h-20 bg-gradient-primary rounded-3xl mx-auto mb-8 flex items-center justify-center shadow-elegant">
60-
<Settings className="w-10 h-10 text-primary-foreground" />
61-
</div>
57+
<Hero>
58+
<div className="w-20 h-20 bg-gradient-primary rounded-3xl mx-auto mb-8 flex items-center justify-center shadow-elegant">
59+
<Settings className="w-10 h-10 text-primary-foreground" />
60+
</div>
6261

63-
<h1 className="text-5xl md:text-6xl font-bold mb-6 bg-gradient-hero bg-clip-text text-transparent">
64-
Constructo
65-
</h1>
66-
67-
<p className="text-xl text-muted-foreground mb-8 max-w-3xl mx-auto">
68-
Framework PHP moderno para construção de aplicações robustas e escaláveis. Sistema
69-
avançado de configuração e injeção de dependências.
70-
</p>
71-
72-
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
73-
<Button size="lg" className="bg-gradient-primary shadow-elegant">
74-
<Download className="w-5 h-5 mr-2" />
75-
Instalar via Composer
76-
</Button>
77-
<Button variant="outline" size="lg">
78-
<ExternalLink className="w-5 h-5 mr-2" />
79-
Ver no GitHub
80-
</Button>
81-
</div>
62+
<h1 className="text-5xl md:text-6xl font-bold mb-6 bg-gradient-hero bg-clip-text text-transparent">
63+
Constructo
64+
</h1>
65+
66+
<p className="text-xl text-muted-foreground mb-8 max-w-3xl mx-auto">
67+
Framework PHP moderno para construção de aplicações robustas e escaláveis. Sistema
68+
avançado de configuração e injeção de dependências.
69+
</p>
70+
71+
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
72+
<Button size="lg" className="bg-gradient-primary shadow-elegant">
73+
<Download className="w-5 h-5 mr-2" />
74+
Instalar via Composer
75+
</Button>
76+
<Button variant="outline" size="lg">
77+
<ExternalLink className="w-5 h-5 mr-2" />
78+
Ver no GitHub
79+
</Button>
80+
</div>
8281

83-
<div className="flex flex-wrap justify-center gap-2">
84-
<Badge variant="secondary">PHP 8.0+</Badge>
85-
<Badge variant="secondary">Composer</Badge>
86-
<Badge variant="secondary">PSR-11</Badge>
87-
<Badge variant="secondary">PSR-4</Badge>
88-
</div>
82+
<div className="flex flex-wrap justify-center gap-2">
83+
<Badge variant="secondary">PHP 8+</Badge>
84+
<Badge variant="secondary">Composer</Badge>
85+
<Badge variant="secondary">PSR-11</Badge>
86+
<Badge variant="secondary">PSR-4</Badge>
8987
</div>
90-
</section>
88+
</Hero>
9189

9290
{/* Installation */}
9391
<section className="py-16 px-6 bg-card/30">

src/pages/Effulgence.tsx

Lines changed: 50 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,25 @@ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/com
55
import { Badge } from "@/components/ui/badge";
66
import CodeBlock from "@/components/CodeBlock";
77
import { Code, Download, ExternalLink, CheckCircle, Layers, Database, Shield } from "lucide-react";
8+
import Hero from "@/components/Hero.tsx";
89

910
const Effulgence = () => {
1011
const features = [
1112
{
1213
icon: <Database className="w-6 h-6" />,
1314
title: "Integração Eloquent",
14-
description: "Integração nativa com Eloquent ORM para desenvolvimento ágil"
15+
description: "Integração nativa com Eloquent ORM para desenvolvimento ágil",
1516
},
1617
{
1718
icon: <Shield className="w-6 h-6" />,
1819
title: "Validação Automática",
19-
description: "Sistema robusto de validação automática para DTOs Laravel"
20+
description: "Sistema robusto de validação automática para DTOs Laravel",
2021
},
2122
{
2223
icon: <Code className="w-6 h-6" />,
2324
title: "Controllers Simplificados",
24-
description: "Controllers elegantes com menos código boilerplate"
25-
}
25+
description: "Controllers elegantes com menos código boilerplate",
26+
},
2627
];
2728

2829
const codeExample = `<?php
@@ -60,44 +61,42 @@ class UserController extends BaseController
6061
}`;
6162

6263
return (
63-
<div className="min-h-screen" style={{ background: 'var(--gradient-background)' }}>
64+
<div className="min-h-screen" style={{ background: "var(--gradient-background)" }}>
6465
<Header />
65-
66+
6667
{/* Hero Section */}
67-
<section className="py-20 px-6">
68-
<div className="container mx-auto text-center">
69-
<div className="w-20 h-20 bg-gradient-success rounded-3xl mx-auto mb-8 flex items-center justify-center shadow-elegant">
70-
<Layers className="w-10 h-10 text-success-foreground" />
71-
</div>
72-
73-
<h1 className="text-5xl md:text-6xl font-bold mb-6 bg-gradient-hero bg-clip-text text-transparent">
74-
Effulgence
75-
</h1>
76-
77-
<p className="text-xl text-muted-foreground mb-8 max-w-3xl mx-auto">
78-
Extensão Laravel para Constructo. Desenvolvimento elegante e produtivo
79-
com validação automática, serialização inteligente e integração nativa.
80-
</p>
81-
82-
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
83-
<Button size="lg" className="bg-gradient-success shadow-elegant">
84-
<Download className="w-5 h-5 mr-2" />
85-
Instalar via Composer
86-
</Button>
87-
<Button variant="outline" size="lg">
88-
<ExternalLink className="w-5 h-5 mr-2" />
89-
Ver no GitHub
90-
</Button>
91-
</div>
92-
93-
<div className="flex flex-wrap justify-center gap-2">
94-
<Badge variant="secondary">Laravel 8+</Badge>
95-
<Badge variant="secondary">PHP 8.1+</Badge>
96-
<Badge variant="secondary">Eloquent</Badge>
97-
<Badge variant="secondary">DTOs</Badge>
98-
</div>
68+
<Hero>
69+
<div className="w-20 h-20 bg-gradient-success rounded-3xl mx-auto mb-8 flex items-center justify-center shadow-elegant">
70+
<Layers className="w-10 h-10 text-success-foreground" />
9971
</div>
100-
</section>
72+
73+
<h1 className="text-5xl md:text-6xl font-bold mb-6 bg-gradient-hero bg-clip-text text-transparent">
74+
Effulgence
75+
</h1>
76+
77+
<p className="text-xl text-muted-foreground mb-8 max-w-3xl mx-auto">
78+
Extensão Laravel para Constructo. Desenvolvimento elegante e produtivo com validação
79+
automática, serialização inteligente e integração nativa.
80+
</p>
81+
82+
<div className="flex flex-col sm:flex-row gap-4 justify-center mb-12">
83+
<Button size="lg" className="bg-gradient-success shadow-elegant">
84+
<Download className="w-5 h-5 mr-2" />
85+
Instalar via Composer
86+
</Button>
87+
<Button variant="outline" size="lg">
88+
<ExternalLink className="w-5 h-5 mr-2" />
89+
Ver no GitHub
90+
</Button>
91+
</div>
92+
93+
<div className="flex flex-wrap justify-center gap-2">
94+
<Badge variant="secondary">Laravel 8+</Badge>
95+
<Badge variant="secondary">PHP 8.1+</Badge>
96+
<Badge variant="secondary">Eloquent</Badge>
97+
<Badge variant="secondary">DTOs</Badge>
98+
</div>
99+
</Hero>
101100

102101
{/* Installation */}
103102
<section className="py-16 px-6 bg-card/30">
@@ -106,7 +105,7 @@ class UserController extends BaseController
106105
<h2 className="text-3xl font-bold mb-4">Instalação Rápida</h2>
107106
<p className="text-muted-foreground">Integre o Effulgence ao seu projeto Laravel</p>
108107
</div>
109-
108+
110109
<Card className="max-w-2xl mx-auto">
111110
<CardHeader>
112111
<CardTitle className="flex items-center">
@@ -132,7 +131,7 @@ class UserController extends BaseController
132131
O poder do Constructo integrado ao Laravel
133132
</p>
134133
</div>
135-
134+
136135
<div className="grid md:grid-cols-3 gap-8">
137136
{features.map((feature, index) => (
138137
<Card key={index} className="p-6 hover:shadow-elegant transition-all duration-300">
@@ -152,15 +151,12 @@ class UserController extends BaseController
152151
<div className="container mx-auto">
153152
<div className="text-center mb-12">
154153
<h2 className="text-3xl font-bold mb-4">Exemplo de Uso</h2>
155-
<p className="text-muted-foreground">Veja como criar controllers elegantes com Effulgence</p>
154+
<p className="text-muted-foreground">
155+
Veja como criar controllers elegantes com Effulgence
156+
</p>
156157
</div>
157-
158-
<CodeBlock
159-
title="DTOs e Controllers"
160-
language="php"
161-
gradient="success"
162-
size="md"
163-
>
158+
159+
<CodeBlock title="DTOs e Controllers" language="php" gradient="success" size="md">
164160
{codeExample}
165161
</CodeBlock>
166162
</div>
@@ -172,7 +168,7 @@ class UserController extends BaseController
172168
<div className="text-center mb-16">
173169
<h2 className="text-4xl font-bold mb-4">Por que Effulgence?</h2>
174170
</div>
175-
171+
176172
<div className="grid md:grid-cols-2 gap-8 max-w-4xl mx-auto">
177173
<div className="flex items-start space-x-4">
178174
<CheckCircle className="w-6 h-6 text-success mt-1 flex-shrink-0" />
@@ -181,23 +177,23 @@ class UserController extends BaseController
181177
<p className="text-muted-foreground">Redução significativa de código boilerplate</p>
182178
</div>
183179
</div>
184-
180+
185181
<div className="flex items-start space-x-4">
186182
<CheckCircle className="w-6 h-6 text-success mt-1 flex-shrink-0" />
187183
<div>
188184
<h3 className="font-semibold mb-2">Validação Robusta</h3>
189185
<p className="text-muted-foreground">Sistema de validação automática e confiável</p>
190186
</div>
191187
</div>
192-
188+
193189
<div className="flex items-start space-x-4">
194190
<CheckCircle className="w-6 h-6 text-success mt-1 flex-shrink-0" />
195191
<div>
196192
<h3 className="font-semibold mb-2">Serialização Inteligente</h3>
197193
<p className="text-muted-foreground">Conversão automática entre Models e DTOs</p>
198194
</div>
199195
</div>
200-
196+
201197
<div className="flex items-start space-x-4">
202198
<CheckCircle className="w-6 h-6 text-success mt-1 flex-shrink-0" />
203199
<div>
@@ -214,4 +210,4 @@ class UserController extends BaseController
214210
);
215211
};
216212

217-
export default Effulgence;
213+
export default Effulgence;

0 commit comments

Comments
 (0)