+
- {/* 1. Área da Foto de Perfil (Quadrada) */}
-
-
-
-
- {/* 2. Nome do Usuário com Edição */}
-
- {isEditingName ? (
-
setUserName(e.target.value)}
- onBlur={() => setIsEditingName(false)}
- onKeyPress={handleNameChange}
- autoFocus
- style={styles.nameInput}
- />
- ) : (
-
{userName}
- )}
-
-
+
+
- {/* 3. Email (AGORA EXIBE O VALOR SIMULADO/CORRIGIDO) */}
-
Email: {userEmail}
+
+
+ {isEditingName ? (
+
setUserName(e.target.value)}
+ onBlur={() => setIsEditingName(false)}
+ onKeyDown={handleNameKeyDown}
+ autoFocus
+ />
+ ) : (
+
{userName}
+ )}
- {/* 4. Cargo (AGORA EXIBE O VALOR SIMULADO/CORRIGIDO) */}
-
Cargo: {userRole}
+
+
+
+
+ Email: {userEmail}
+
+
+
+ Cargo: {userRole}
+
+
+
+
+
+
);
};
-// Estilos Atualizados para Aumentar o Tamanho do Modal
-const styles = {
- overlay: {
- position: 'fixed',
- top: 0,
- left: 0,
- right: 0,
- bottom: 0,
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
- display: 'flex',
- justifyContent: 'center',
- alignItems: 'center',
- zIndex: 1100,
- },
- modalContainer: {
- position: 'relative',
- padding: '50px 70px', // Aumentado o padding
- backgroundColor: 'white',
- borderRadius: '15px',
- boxShadow: '0 8px 30px rgba(0, 0, 0, 0.3)',
- display: 'flex',
- flexDirection: 'column',
- alignItems: 'center',
- minWidth: '400px',
- width: '60%', // Aumentando a largura para cobrir mais a tela
- maxWidth: '500px', // Limite máximo para não ficar gigante em telas grandes
- height: 'auto',
- },
- closeButton: {
- position: 'absolute',
- top: '15px',
- right: '20px',
- background: 'none',
- border: 'none',
- fontSize: '30px',
- cursor: 'pointer',
- color: '#666',
- lineHeight: '1',
- },
- // ... (Os estilos de profilePictureContainer, infoContainer, etc., permanecem iguais)
- profilePictureContainer: {
- width: '120px',
- height: '120px',
- borderRadius: '15px',
- overflow: 'hidden',
- boxShadow: '0 4px 10px rgba(0, 0, 0, 0.15)',
- marginBottom: '20px',
- },
- profilePicturePlaceholder: {
- width: '100%',
- height: '100%',
- backgroundColor: '#A9A9A9',
- backgroundImage: 'url(\'data:image/svg+xml;utf8,
\')',
- backgroundSize: '80%',
- backgroundRepeat: 'no-repeat',
- backgroundPosition: 'center',
- },
- infoContainer: {
- textAlign: 'center',
- maxWidth: '400px',
- width: '100%',
- },
- nameSection: {
- display: 'flex',
- alignItems: 'center',
- justifyContent: 'center',
- marginBottom: '10px',
- },
- userName: {
- margin: '0 5px 0 0',
- fontSize: '1.8rem',
- color: '#333',
- },
- nameInput: {
- fontSize: '1.8rem',
- padding: '5px',
- border: '1px solid #ccc',
- borderRadius: '5px',
- textAlign: 'center',
- marginRight: '5px',
- },
- editButton: {
- background: 'none',
- border: 'none',
- cursor: 'pointer',
- fontSize: '1.2rem',
- marginLeft: '5px',
- },
- emailText: {
- fontSize: '1rem',
- color: '#666',
- margin: '5px 0',
- },
- roleText: {
- fontSize: '1.1rem',
- color: '#333',
- marginTop: '15px',
- paddingTop: '10px',
- borderTop: '1px solid #eee',
- }
-};
-
-export default ProfilePage;
\ No newline at end of file
+export default ProfilePage;
diff --git a/src/pages/TablePaciente.jsx b/src/pages/TablePaciente.jsx
index 94caeab..1006a25 100644
--- a/src/pages/TablePaciente.jsx
+++ b/src/pages/TablePaciente.jsx
@@ -108,7 +108,11 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
const authHeader = getAuthorizationHeader()
+<<<<<<< HEAD
console.log(authHeader, 'aqui autorização')
+=======
+ console.log(authHeader)
+>>>>>>> main
var myHeaders = new Headers();
myHeaders.append("apikey", API_KEY);
@@ -119,10 +123,17 @@ function TablePaciente({ setCurrentPage, setPatientID }) {
redirect: 'follow'
};
+<<<<<<< HEAD
fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients", requestOptions)
.then(response => response.json())
.then(result => setPacientes(result))
.catch(error => console.log('error', error));
+=======
+ fetch("https://yuanqfswhberkoevtmfr.supabase.co/rest/v1/patients", requestOptions)
+ .then(response => response.json())
+ .then(result => {setPacientes(result); console.log(result)})
+ .catch(error => console.log('error', error));
+>>>>>>> main
}, [isAuthenticated, getAuthorizationHeader]);
// Função para verificar se hoje é aniversário do paciente
diff --git a/src/pages/style/Agendamento.css b/src/pages/style/Agendamento.css
index 8df2e11..8d1e7eb 100644
--- a/src/pages/style/Agendamento.css
+++ b/src/pages/style/Agendamento.css
@@ -118,7 +118,7 @@
border-radius: 10px;
}
-#status-card-consulta-confirmado, .legenda-item-confirmado {
+#status-card-consulta-confirmado, .legenda-item-confirmed {
background-color: #eef8fb;
border:3px solid #d8dfe7;
padding: 5px;
@@ -288,4 +288,73 @@ html[data-bs-theme="dark"] {
color: #fff;
background-color: #005a9e;
}
-}
\ No newline at end of file
+}
+
+/* Estilo para o botão de Editar */
+.btn-edit-custom {
+ background-color: #FFF3CD;
+ color: #856404;
+}
+
+/* Estilo para o botão de Excluir (Deletar) */
+.btn-delete-custom {
+ background-color: #F8D7DA;
+ color: #721C24;
+ padding: 10px;
+}
+
+.cardconsulta{
+ display:flex;
+ align-items: center;
+ flex-direction: row;
+}
+
+.container-botons{
+ display: flex;
+ flex-direction: row;
+}
+
+#tabela-seletor-container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ gap: 12px;
+
+ background-color: #fff;
+ border-radius: 8px;
+ padding: 6px 12px;
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
+
+ font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto;
+ width: fit-content;
+ margin: 0 auto;
+}
+
+#tabela-seletor-container p {
+ margin: 0;
+ font-size: 23px;
+ font-weight: 500;
+ color: #4085f6;
+ text-align: center;
+ white-space: nowrap;
+}
+
+#tabela-seletor-container button {
+ background: transparent;
+ border: none;
+ color: #555;
+ font-size: 20px;
+ cursor: pointer;
+ padding: 4px 6px;
+ border-radius: 6px;
+ transition: all 0.2s ease-in-out;
+}
+
+#tabela-seletor-container button:hover {
+ background-color: rgba(0, 0, 0, 0.05);
+ color: #000;
+}
+
+#tabela-seletor-container i {
+ pointer-events: none;
+}
diff --git a/src/pages/style/ProfilePage.css b/src/pages/style/ProfilePage.css
index e69de29..c9215aa 100644
--- a/src/pages/style/ProfilePage.css
+++ b/src/pages/style/ProfilePage.css
@@ -0,0 +1,178 @@
+/* src/pages/ProfilePage.css */
+
+/* Overlay que cobre toda a tela */
+.profile-overlay {
+ position: fixed;
+ inset: 0;
+ background-color: rgba(0, 0, 0, 0.65);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 20000; /* acima de header, vlibras, botões de acessibilidade */
+ padding: 20px;
+ box-sizing: border-box;
+}
+
+/* Card central (estilo modal amplo parecido com a 4ª foto) */
+.profile-modal {
+ background: #ffffff;
+ border-radius: 10px;
+ padding: 18px;
+ width: min(1100px, 96%);
+ max-width: 1100px;
+ box-shadow: 0 18px 60px rgba(0, 0, 0, 0.5);
+ position: relative;
+ box-sizing: border-box;
+ overflow: visible;
+}
+
+/* Botão fechar (X) no canto do card */
+.profile-close {
+ position: absolute;
+ top: 14px;
+ right: 14px;
+ background: none;
+ border: none;
+ font-size: 26px;
+ color: #666;
+ cursor: pointer;
+ line-height: 1;
+}
+
+/* Conteúdo dividido em 2 colunas: esquerda avatar / direita infos */
+.profile-content {
+ display: flex;
+ gap: 28px;
+ align-items: flex-start;
+ padding: 22px 18px;
+}
+
+/* Coluna esquerda - avatar */
+.profile-left {
+ width: 220px;
+ display: flex;
+ justify-content: center;
+}
+
+/* Avatar quadrado com sombra (estilo da foto 4) */
+.avatar-wrapper {
+ position: relative;
+ width: 180px;
+ height: 180px;
+}
+
+.avatar-square {
+ width: 100%;
+ height: 100%;
+ border-radius: 8px;
+ background-color: #d0d0d0;
+ background-image: url("data:image/svg+xml;utf8,
");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: 55%;
+ box-shadow: 0 8px 24px rgba(0,0,0,0.25);
+}
+
+/* Botão editar sobre o avatar — círculo pequeno */
+.avatar-edit-btn {
+ position: absolute;
+ right: -8px;
+ bottom: -8px;
+ transform: translate(0, 0);
+ border: none;
+ background: #ffffff;
+ padding: 8px 9px;
+ border-radius: 50%;
+ box-shadow: 0 6px 14px rgba(0,0,0,0.18);
+ cursor: pointer;
+ font-size: 0.95rem;
+ line-height: 1;
+}
+
+/* Coluna direita - informações */
+.profile-right {
+ flex: 1;
+ min-width: 280px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+}
+
+/* Nome e botão de editar inline */
+.profile-name-row {
+ display: flex;
+ align-items: center;
+ gap: 10px;
+ margin-bottom: 10px;
+}
+
+.profile-username {
+ margin: 0;
+ font-size: 1.9rem;
+ color: #222;
+}
+
+.profile-edit-inline {
+ background: none;
+ border: none;
+ cursor: pointer;
+ font-size: 1.05rem;
+ color: #444;
+}
+
+/* input de edição do nome */
+.profile-name-input {
+ font-size: 1.6rem;
+ padding: 6px 8px;
+ border: 1px solid #e0e0e0;
+ border-radius: 6px;
+}
+
+/* email/role */
+.profile-email,
+.profile-role {
+ margin: 6px 0;
+ color: #555;
+ font-size: 1rem;
+}
+
+.profile-role {
+ margin-top: 14px;
+ padding-top: 12px;
+ border-top: 1px solid #f1f1f1;
+ color: #333;
+}
+
+/* ações (apenas fechar aqui) */
+.profile-actions-row {
+ display: flex;
+ gap: 12px;
+ margin-top: 18px;
+}
+
+/* botões */
+.btn {
+ padding: 8px 14px;
+ border-radius: 8px;
+ border: 1px solid transparent;
+ cursor: pointer;
+ font-size: 0.95rem;
+}
+
+.btn-close {
+ background: #f0f0f0;
+ color: #222;
+ border: 1px solid #e6e6e6;
+}
+
+/* responsividade */
+@media (max-width: 880px) {
+ .profile-content {
+ flex-direction: column;
+ gap: 14px;
+ align-items: center;
+ }
+ .profile-left { width: 100%; }
+ .avatar-wrapper { width: 140px; height: 140px; }
+ .profile-right { width: 100%; text-align: center; }
+}
diff --git a/src/perfis/Perfil_paciente/Perfilpaciente.jsx b/src/perfis/Perfil_paciente/Perfilpaciente.jsx
new file mode 100644
index 0000000..d7a64d7
--- /dev/null
+++ b/src/perfis/Perfil_paciente/Perfilpaciente.jsx
@@ -0,0 +1,23 @@
+import { Routes, Route } from "react-router-dom";
+import Sidebar from "../../components/Sidebar";
+import PacienteItems from "../../data/sidebar-items-paciente.json";
+import Agendamento from "../../pages/Agendamento";
+import LaudoManager from "../../pages/LaudoManager";
+function PerfilPaciente({ onLogout }) {
+ return (
+
+
+
+
+
+ } />
+ } />
+ } />
+ Página não encontrada} />
+
+
+
+ );
+}
+
+export default PerfilPaciente;
\ No newline at end of file
diff --git a/src/perfis/perfil_secretaria/PerfilSecretaria.jsx b/src/perfis/perfil_secretaria/PerfilSecretaria.jsx
index baa72a6..1dc5146 100644
--- a/src/perfis/perfil_secretaria/PerfilSecretaria.jsx
+++ b/src/perfis/perfil_secretaria/PerfilSecretaria.jsx
@@ -15,6 +15,8 @@ import Details from "../../pages/Details";
import EditPage from "../../pages/EditPage";
import DoctorDetails from "../../pages/DoctorDetails";
import DoctorEditPage from "../../pages/DoctorEditPage";
+import FormDisponibilidade from "../../components/AgendarConsulta/FormDisponibilidade";
+import AgendamentoEditPage from "../../pages/AgendamentoEditPage";
function PerfilSecretaria({ onLogout }) {
return (
@@ -33,8 +35,10 @@ function PerfilSecretaria({ onLogout }) {
} />
} />
} />
-
} />
+
} />
+ } />
Página não encontrada} />
+ } />