diff --git a/src/App.js b/src/App.js
index 931fa27..1fcc92e 100644
--- a/src/App.js
+++ b/src/App.js
@@ -23,7 +23,7 @@ function App() {
const [isSidebarActive, setIsSidebarActive] = useState(true);
const [currentPage, setCurrentPage] = useState('dashboard');
- const [patientID, setPatientID] = useState(0)
+ const [patientID, setPatientID] = useState(null)
@@ -55,11 +55,10 @@ const renderPageContent = () => {
return ;
}
else if(currentPage === 'edit-page-paciente'){
-
return
}
else if(currentPage === 'details-page-paciente'){
- return
+ return ;
}
diff --git a/src/pages/Details.jsx b/src/pages/Details.jsx
index 7db4bc9..2f0c2eb 100644
--- a/src/pages/Details.jsx
+++ b/src/pages/Details.jsx
@@ -1,9 +1,148 @@
-import React from 'react'
+import React, { useEffect, useState } from "react";
+
+const Details = ({ patientID, setCurrentPage }) => {
+ const [paciente, setPaciente] = useState(null);
+
+ useEffect(() => {
+ if (!patientID) return;
+
+ fetch(`https://mock.apidog.com/m1/1053378-0-default/pacientes/${patientID}`)
+ .then(res => res.json())
+ .then(data => setPaciente(data))
+ .catch(err => console.error("Erro ao buscar paciente:", err));
+ }, [patientID]);
+
+ if (!paciente) return
Carregando...
;
-const Details = () => {
return (
- Details
- )
-}
+
+ {/* Botão voltar */}
+
-export default Details
\ No newline at end of file
+ {/* Cabeçalho */}
+
+

+
+ {paciente.nomeCompleto}
+
+
CPF: {paciente.cpf}
+
+
+
+ {/* Dados pessoais */}
+
+
Dados Pessoais
+
+
Nome Completo: {paciente.nomeCompleto}
+
CPF: {paciente.cpf}
+
Idade: {paciente.idade}
+
Data de Nascimento: {paciente.dataNascimento}
+
Sexo: {paciente.sexo}
+
Estado Civil: {paciente.estadoCivil}
+
Profissão: {paciente.profissao}
+
Nacionalidade: {paciente.nacionalidade}
+
Naturalidade: {paciente.naturalidade}
+
Etnia: {paciente.etnia}
+
+
+
+ {/* Contato */}
+
+
Informações de Contato
+
+
E-mail: {paciente.email}
+
Celular: {paciente.celular}
+
Telefone 1: {paciente.telefone1 || "-"}
+
Telefone 2: {paciente.telefone2 || "-"}
+
+
+
+ );
+};
+
+const styles = {
+ container: {
+ width: "80%",
+ maxWidth: "800px",
+ margin: "30px auto",
+ background: "#fff",
+ borderRadius: "10px",
+ padding: "20px",
+ boxShadow: "0 2px 8px rgba(0,0,0,0.1)",
+ fontFamily: "Arial, sans-serif",
+ position: "relative"
+ },
+ backBtn: {
+ background: "#ddd",
+ border: "none",
+ borderRadius: "6px",
+ padding: "8px 14px",
+ cursor: "pointer",
+ marginBottom: "15px"
+ },
+ header: {
+ textAlign: "center",
+ marginBottom: "20px",
+ position: "relative"
+ },
+ avatar: {
+ width: "80px",
+ height: "80px",
+ borderRadius: "50%",
+ background: "#ddd",
+ display: "block",
+ margin: "0 auto"
+ },
+ nome: {
+ margin: "10px 0 5px"
+ },
+ vip: {
+ color: "#f7b500",
+ fontWeight: "bold",
+ marginLeft: "5px"
+ },
+ cpf: {
+ margin: "5px 0",
+ color: "#555"
+ },
+ editBtn: {
+ background: "#0d6efd",
+ color: "white",
+ padding: "8px 14px",
+ border: "none",
+ borderRadius: "6px",
+ cursor: "pointer",
+ position: "absolute",
+ right: "20px",
+ top: "20px"
+ },
+ section: {
+ marginBottom: "20px",
+ border: "1px solid #e0e0e0",
+ borderRadius: "8px",
+ padding: "15px"
+ },
+ sectionTitle: {
+ marginTop: 0,
+ borderBottom: "1px solid #ddd",
+ paddingBottom: "8px",
+ fontSize: "18px"
+ },
+ grid: {
+ display: "grid",
+ gridTemplateColumns: "1fr 1fr",
+ gap: "10px 20px",
+ marginTop: "10px"
+ },
+ item: {
+ fontSize: "14px"
+ }
+};
+
+export default Details;
\ No newline at end of file
diff --git a/src/pages/Table.jsx b/src/pages/Table.jsx
index 62b4279..2508205 100644
--- a/src/pages/Table.jsx
+++ b/src/pages/Table.jsx
@@ -29,19 +29,19 @@ function Table( {setCurrentPage, setPatientID}) {
console.log(e.target.value)
if(value === 'verdetalhes'){
+ setPatientID(id);
setCurrentPage('details-page-paciente')
}
- if(value === 'editar')
- {setCurrentPage('edit-page-paciente')
- setPatientID(id)
-
-
+ if(value === 'editar'){
+ setPatientID(id);
+ setCurrentPage('edit-page-paciente')
}
if(value === 'excluir'){
console.log(`Excluir ${id}`)
deletePatient(id)
+
}
}