diff --git a/src/App.js b/src/App.js index fea6875..165f091 100644 --- a/src/App.js +++ b/src/App.js @@ -19,7 +19,7 @@ function App() { const [isSidebarActive, setIsSidebarActive] = useState(true); const [currentPage, setCurrentPage] = useState('table '); - const [patientID, setPatientID] = useState(0) + const [patientID, setPatientID] = useState(null) @@ -63,7 +63,7 @@ const renderPageContent = () => { // 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 */} +
+ Foto do paciente +

+ {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 63d13c7..94b2f85 100644 --- a/src/pages/Table.jsx +++ b/src/pages/Table.jsx @@ -24,18 +24,19 @@ function TablePaciente({ setCurrentPage, setPatientID }) { const onChange = (e, id) => { let value = e.target.value; - if (value === "verdetalhes") { - setCurrentPage("details-page-paciente"); - } - - if (value === "editar") { - setCurrentPage("edit-page-paciente"); + setCurrentPage('details-page-paciente') setPatientID(id); + if(value === 'verdetalhes'){ } - if (value === "excluir") { - console.log(`Excluir ${id}`); + setCurrentPage('edit-page-paciente') + setPatientID(id); + if(value === 'editar'){ + } deletePatient(id); + console.log(`Excluir ${id}`); + if (value === "excluir") { + } };