|
1 | 1 | import './global.css'; |
| 2 | +import './styles.css'; |
2 | 3 | import './App.css'; |
3 | 4 |
|
4 | 5 | function App() { |
5 | 6 | return ( |
6 | | - <div className="container"> |
7 | | - <header> |
8 | | - <h1>DR1 - TPs 3.11 a 3.16</h1> |
9 | | - <p>Projeto com estilos globais inspirados no GitHub</p> |
| 7 | + <div className="app-container"> |
| 8 | + <header className="app-header"> |
| 9 | + <div className="container"> |
| 10 | + <h1>Aplicação com Estilos Globais e Escopados</h1> |
| 11 | + <p>Demonstração de global.css + styles.css com classes específicas</p> |
| 12 | + </div> |
10 | 13 | </header> |
11 | 14 |
|
12 | | - <main> |
13 | | - <section className="card"> |
14 | | - <h2>Sobre o Projeto</h2> |
15 | | - <p> |
16 | | - Este projeto utiliza estilos globais definidos em <code>global.css</code> para criar |
17 | | - uma interface consistente em toda a aplicação. O design é inspirado no GitHub, com |
18 | | - elementos mais arredondados e simplificados. |
19 | | - </p> |
20 | | - <button className="primary">Saiba Mais</button> |
21 | | - </section> |
| 15 | + <main className="app-main"> |
| 16 | + <div className="container"> |
| 17 | + <section className="app-section"> |
| 18 | + <div className="card"> |
| 19 | + <h2>Sobre o Projeto</h2> |
| 20 | + <p> |
| 21 | + Este projeto demonstra o uso de estilos globais combinados com estilos |
| 22 | + escopados para o componente App. Utiliza uma paleta de cores inspirada |
| 23 | + no LinkedIn e GitHub. |
| 24 | + </p> |
| 25 | + <p> |
| 26 | + As classes com prefixo <code>app-</code> são específicas deste componente |
| 27 | + e definidas no arquivo <code>styles.css</code>. |
| 28 | + </p> |
| 29 | + </div> |
| 30 | + </section> |
22 | 31 |
|
23 | | - <section className="card"> |
24 | | - <h2>Recursos</h2> |
25 | | - <ul> |
26 | | - <li>Estilos globais centralizados</li> |
27 | | - <li>Paleta de cores escura inspirada no GitHub</li> |
28 | | - <li>Componentes arredondados e simples</li> |
29 | | - <li>Tipografia consistente</li> |
30 | | - </ul> |
31 | | - </section> |
| 32 | + <section className="app-section"> |
| 33 | + <h2>Recursos Principais</h2> |
| 34 | + <div className="app-grid"> |
| 35 | + <div className="card"> |
| 36 | + <h3>Design Responsivo</h3> |
| 37 | + <p>Layout adaptável para mobile, tablet e desktop com grid system</p> |
| 38 | + </div> |
| 39 | + <div className="card"> |
| 40 | + <h3>Tema Escuro</h3> |
| 41 | + <p>Paleta de cores profissional inspirada no LinkedIn e GitHub</p> |
| 42 | + </div> |
| 43 | + <div className="card"> |
| 44 | + <h3>Componentização</h3> |
| 45 | + <p>Estilos globais e escopados trabalhando em conjunto</p> |
| 46 | + </div> |
| 47 | + </div> |
| 48 | + </section> |
32 | 49 |
|
33 | | - <section className="card"> |
34 | | - <h2>Tecnologias</h2> |
35 | | - <p> |
36 | | - Desenvolvido com <a href="https://react.dev" target="_blank">React</a> e |
37 | | - estilização CSS global para garantir consistência visual. |
38 | | - </p> |
39 | | - <div style={{ display: 'flex', gap: '12px', marginTop: '16px' }}> |
40 | | - <button>React</button> |
41 | | - <button>CSS</button> |
42 | | - <button>JavaScript</button> |
43 | | - </div> |
44 | | - </section> |
| 50 | + <section className="app-section"> |
| 51 | + <div className="card"> |
| 52 | + <h2>Tecnologias Utilizadas</h2> |
| 53 | + <ul className="app-list"> |
| 54 | + <li><code>React 18+</code> - Biblioteca JavaScript para interfaces</li> |
| 55 | + <li><code>Vite</code> - Build tool moderna e rápida</li> |
| 56 | + <li><code>CSS Variables</code> - Customização dinâmica de temas</li> |
| 57 | + <li><code>Mobile-First</code> - Abordagem responsiva progressiva</li> |
| 58 | + </ul> |
| 59 | + </div> |
| 60 | + </section> |
45 | 61 |
|
46 | | - <section className="card"> |
47 | | - <h3>Formulário de Contato</h3> |
48 | | - <form style={{ display: 'flex', flexDirection: 'column', gap: '12px', marginTop: '16px' }}> |
49 | | - <input type="text" placeholder="Seu nome" /> |
50 | | - <input type="email" placeholder="Seu e-mail" /> |
51 | | - <textarea rows="4" placeholder="Sua mensagem"></textarea> |
52 | | - <button className="primary" type="submit">Enviar</button> |
53 | | - </form> |
54 | | - </section> |
| 62 | + <section className="app-section"> |
| 63 | + <div className="card"> |
| 64 | + <h2>Formulário de Contato</h2> |
| 65 | + <form className="app-form"> |
| 66 | + <div className="app-form-group"> |
| 67 | + <label htmlFor="nome">Nome Completo:</label> |
| 68 | + <input |
| 69 | + type="text" |
| 70 | + id="nome" |
| 71 | + placeholder="Seu nome completo" |
| 72 | + /> |
| 73 | + </div> |
| 74 | + |
| 75 | + <div className="app-form-group"> |
| 76 | + <label htmlFor="email">E-mail:</label> |
| 77 | + <input |
| 78 | + type="email" |
| 79 | + id="email" |
| 80 | + placeholder="seu@email.com" |
| 81 | + /> |
| 82 | + </div> |
| 83 | + |
| 84 | + <div className="app-form-group"> |
| 85 | + <label htmlFor="mensagem">Mensagem:</label> |
| 86 | + <textarea |
| 87 | + id="mensagem" |
| 88 | + placeholder="Escreva sua mensagem aqui..." |
| 89 | + /> |
| 90 | + </div> |
| 91 | + |
| 92 | + <div className="app-button-group"> |
| 93 | + <button type="submit" className="primary"> |
| 94 | + Enviar Mensagem |
| 95 | + </button> |
| 96 | + <button type="button"> |
| 97 | + Limpar Formulário |
| 98 | + </button> |
| 99 | + <button type="button" className="success"> |
| 100 | + Salvar Rascunho |
| 101 | + </button> |
| 102 | + </div> |
| 103 | + </form> |
| 104 | + </div> |
| 105 | + </section> |
| 106 | + </div> |
55 | 107 | </main> |
56 | 108 |
|
57 | | - <footer style={{ marginTop: '32px', paddingTop: '24px', borderTop: '1px solid var(--border-color)', textAlign: 'center' }}> |
58 | | - <p>© 2025 - Desenvolvido com React</p> |
| 109 | + <footer className="app-footer"> |
| 110 | + <div className="container"> |
| 111 | + <p>© 2024 - Projeto desenvolvido com React, global.css e styles.css</p> |
| 112 | + </div> |
59 | 113 | </footer> |
60 | 114 | </div> |
61 | 115 | ); |
|
0 commit comments