From 47a93394a9dde613cdb886ce14acdb44082fef63 Mon Sep 17 00:00:00 2001
From: "Cristian O." <84862634+Criser2013@users.noreply.github.com>
Date: Thu, 2 Oct 2025 19:53:36 +0000
Subject: [PATCH 1/3] =?UTF-8?q?ADT-45=20Correcci=C3=B3n=20del=20error=20qu?=
=?UTF-8?q?e=20no=20actualiza=20los=20campos=20de=20la=20pesta=C3=B1a=20"d?=
=?UTF-8?q?atos=20recolectados"=20cuando=20se=20cambia=20el=20modo=20usuar?=
=?UTF-8?q?io.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/diagnosticos/VerDiagnosticosPage.jsx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/pages/diagnosticos/VerDiagnosticosPage.jsx b/src/pages/diagnosticos/VerDiagnosticosPage.jsx
index 38e6580..35b2ac1 100644
--- a/src/pages/diagnosticos/VerDiagnosticosPage.jsx
+++ b/src/pages/diagnosticos/VerDiagnosticosPage.jsx
@@ -68,7 +68,7 @@ export default function VerDiagnosticosPage() {
{ id: "sexo", label: t("txtCampoSexo"), componente: (x) => , ordenable: true },
{ id: "diagnostico", label: t("txtCampoDiagModelo"), componente: (x) => , ordenable: true },
{ id: "validado", label: t("txtCampoDiagMedico"), componente: (x) => , ordenable: true }
- ]), [navegacion.idioma]);
+ ]), [camposVariables, navegacion.idioma]);
const camposTabla = useMemo(() => {
return (rol != CODIGO_ADMIN) ? camposFijos.concat([{ id: "accion", label: t("txtAccion"), componente: null, ordenable: false }]) : camposFijos;
}, [rol, camposFijos, navegacion.idioma]);
@@ -437,7 +437,7 @@ export default function VerDiagnosticosPage() {
/**
* Botón para validar diagnóstico
* @param {JSON} diagnostico - Diagnóstico a validar.
- * @returns JSX.Element
+ * @returns {JSX.Element}
*/
const BtnValidar = (diagnostico) => {
const func = (x) => {
From 751f8f623d7fdd6364631369db099226a2c57308 Mon Sep 17 00:00:00 2001
From: "Cristian O." <84862634+Criser2013@users.noreply.github.com>
Date: Thu, 2 Oct 2025 21:19:32 +0000
Subject: [PATCH 2/3] =?UTF-8?q?Correcci=C3=B3n=20de=20error.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages/diagnosticos/VerDiagnosticoPage.jsx | 24 ++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/src/pages/diagnosticos/VerDiagnosticoPage.jsx b/src/pages/diagnosticos/VerDiagnosticoPage.jsx
index c8a8b69..f95e985 100644
--- a/src/pages/diagnosticos/VerDiagnosticoPage.jsx
+++ b/src/pages/diagnosticos/VerDiagnosticoPage.jsx
@@ -30,6 +30,7 @@ import { peticionApi } from "../../services/Api";
import { ChipDiagnostico, ChipSexo, ChipValidado } from "../../components/tabs/Chips";
import ContLime from "../../components/diagnosticos/ContLime";
import { useTranslation } from "react-i18next";
+import { DatosIcono } from "../../components/icons/IconosSidebar";
/**
* Página para ver los datos de un diagnóstico.
@@ -201,6 +202,11 @@ export default function VerDiagnosticoPage() {
if (datos.success && datos.data != []) {
setDiagOriginal({ ...datos.data });
+ if (rol != CODIGO_ADMIN && datos.data.medico != auth.authInfo.uid) {
+ volverPestanaAnterior();
+ return;
+ }
+
if (rol == CODIGO_ADMIN) {
await cargarDatosMedico(token, datos.data.medico);
} else {
@@ -209,7 +215,7 @@ export default function VerDiagnosticoPage() {
preprocesarDiag(datos.data);
} else if (DB != null && !datos.success) {
- navigate("/diagnosticos", { replace: true });
+ volverPestanaAnterior();
}
};
@@ -316,12 +322,24 @@ export default function VerDiagnosticoPage() {
});
};
+ /**
+ * Vuelve a la pestaña anterior cuando el diagnóstico no existe o el usuario no tiene permisos para verlo.
+ * Se requiere el timeout porque sino hay condiciones de carrera con el sessionStorage y navigate.
+ */
+ const volverPestanaAnterior = () => {
+ setTimeout(() => {
+ sessionStorage.removeItem("paciente");
+ sessionStorage.setItem("descargando-drive", "false");
+ navigate("/diagnosticos", { replace: true });
+ }, 100);
+ };
+
/**
* Determina el tamaño del elemento dentro de la malla.
* Si se visualiza desde un dispositivo movil en orientación horizontal y el menú o en escritorio,
* se ajusta el contenido a 2 columnas, en caso contrario se deja en 1 columna.
* @param {Int} indice
- * @returns Int
+ * @returns {Int}
*/
const detVisualizacion = (indice) => {
const { orientacion, mostrarMenu, dispositivoMovil, ancho } = navegacion;
@@ -525,7 +543,7 @@ export default function VerDiagnosticoPage() {
urlPredet="/diagnosticos"
titulo={t("titDiagnostico")}
pestanas={listadoPestanas}
- tooltip={t("txtVolverAtrasDiagnosticos")}/>
+ tooltip={t("txtVolverAtrasDiagnosticos")} />
Date: Thu, 2 Oct 2025 21:29:10 +0000
Subject: [PATCH 3/3] =?UTF-8?q?Correcci=C3=B3n=20visual.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/contexts/NavegacionContext.jsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/contexts/NavegacionContext.jsx b/src/contexts/NavegacionContext.jsx
index dbec29e..324d958 100644
--- a/src/contexts/NavegacionContext.jsx
+++ b/src/contexts/NavegacionContext.jsx
@@ -37,7 +37,7 @@ export function NavegacionProvider({ children }) {
const [recargarPagina, setRecargarPagina] = useState(false);
const { mode, setMode } = useColorScheme();
const { i18n } = useTranslation();
- const idioma = useMemo(() => i18n.language, [i18n.language]);
+ const idioma = useMemo(() => i18n.language.split("-")[0], [i18n.language]);
const tema = useMemo(() => {
if (mode == "system" || mode == undefined) {
if (window.matchMedia("(prefers-color-scheme: light)").matches) {