diff --git a/frontend/nginx.conf b/frontend/nginx.conf
index 06054c6..f81a4f3 100644
--- a/frontend/nginx.conf
+++ b/frontend/nginx.conf
@@ -4,6 +4,9 @@ server {
root /usr/share/nginx/html;
index index.html;
+ # Permite uploads de até 12MB (limite do backend é 10MB)
+ client_max_body_size 12m;
+
# Gzip
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
diff --git a/frontend/src/index.css b/frontend/src/index.css
index 989a3ba..beac79d 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -13,6 +13,11 @@
html { scroll-behavior: smooth; }
+html, body {
+ max-width: 100%;
+ overflow-x: hidden;
+}
+
body {
margin: 0;
font-family: system-ui, 'Segoe UI', Roboto, sans-serif;
diff --git a/frontend/src/pages/Alunos.tsx b/frontend/src/pages/Alunos.tsx
index 1752887..777f05a 100644
--- a/frontend/src/pages/Alunos.tsx
+++ b/frontend/src/pages/Alunos.tsx
@@ -75,34 +75,36 @@ export function Alunos() {
{!carregandoAlunos && alunos.length > 0 && (
-
-
-
- | Nome |
- E-mail |
- Matrícula |
- Status |
-
-
-
- {alunos.map((aluno) => (
-
- | {aluno.nome} |
- {aluno.email} |
- {aluno.matricula ?? '—'} |
-
-
- {aluno.ativo ? 'Ativo' : 'Inativo'}
-
- |
+
+
+
+
+ | Nome |
+ E-mail |
+ Matrícula |
+ Status |
- ))}
-
-
+
+
+ {alunos.map((aluno) => (
+
+ | {aluno.nome} |
+ {aluno.email} |
+ {aluno.matricula ?? '—'} |
+
+
+ {aluno.ativo ? 'Ativo' : 'Inativo'}
+
+ |
+
+ ))}
+
+
+
)}
>
diff --git a/frontend/src/pages/DetalheDocumento.tsx b/frontend/src/pages/DetalheDocumento.tsx
index 741e853..03776bd 100644
--- a/frontend/src/pages/DetalheDocumento.tsx
+++ b/frontend/src/pages/DetalheDocumento.tsx
@@ -140,9 +140,9 @@ export function DetalheDocumento() {
{ label: 'Tamanho', value: formatBytes(doc.tamanho_arquivo) },
{ label: 'Submetido em', value: formatDate(doc.criado_em) },
].map(({ label, value }) => (
-
+
{label}
- {value}
+ {value}
))}
diff --git a/frontend/src/pages/Documentos.tsx b/frontend/src/pages/Documentos.tsx
index 526954d..ae46004 100644
--- a/frontend/src/pages/Documentos.tsx
+++ b/frontend/src/pages/Documentos.tsx
@@ -84,34 +84,36 @@ export function Documentos() {
{data && data.dados.length > 0 && (
-
-
-
- | Título |
- Tipo |
- Carga (h) |
- Status |
- Data |
- |
-
-
-
- {data.dados.map((doc) => (
-
- | {doc.titulo} |
- {doc.tipo} |
- {doc.carga_horaria}h |
- |
- {new Date(doc.criado_em.replace(' ', 'T')).toLocaleDateString('pt-BR')} |
-
-
- Ver →
-
- |
+
+
+
+
+ | Título |
+ Tipo |
+ Carga (h) |
+ Status |
+ Data |
+ |
- ))}
-
-
+
+
+ {data.dados.map((doc) => (
+
+ | {doc.titulo} |
+ {doc.tipo} |
+ {doc.carga_horaria}h |
+ |
+ {new Date(doc.criado_em.replace(' ', 'T')).toLocaleDateString('pt-BR')} |
+
+
+ Ver →
+
+ |
+
+ ))}
+
+
+
)}
diff --git a/infra/nginx/default.conf.template b/infra/nginx/default.conf.template
index 675de5e..43bbda5 100644
--- a/infra/nginx/default.conf.template
+++ b/infra/nginx/default.conf.template
@@ -31,6 +31,9 @@ server {
# HSTS — força HTTPS por 2 anos
add_header Strict-Transport-Security "max-age=63072000" always;
+ # Permite uploads de até 12MB (limite do backend é 10MB)
+ client_max_body_size 12m;
+
location / {
proxy_pass http://frontend;
proxy_http_version 1.1;