codigo0/dist/assets/ConvulsionesChecklist-BHXGh-47.js
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00

2 lines
3.9 KiB
JavaScript

import{r as n,j as e}from"./0-vendor-react-DWOJpYrt.js";import{u as S,L as b}from"./page-herramientas-BzovIToK.js";import{B as g}from"./page-ajustes-DgawOEJM.js";import{C as d,c as m,d as u,e as p,I as y}from"./page-comunicacion-DmHQUHoW.js";import{g as k,f as I,C as E}from"./timers-DtW-cs9v.js";import"./1-vendor-utils-Delnuc0l.js";import"./2-vendor-markdown-BQlHAcA7.js";const A=[{id:"conv-seguridad",title:"Seguridad y proteccion",description:"Retirar objetos peligrosos, proteger cabeza, no sujetar al paciente."},{id:"conv-tiempo",title:"Cronometrar",description:"Registrar inicio. Si > 5 min considerar tratamiento segun protocolo."},{id:"conv-abcde",title:"ABCDE y glucemia",description:"Valorar via aerea, respiracion, perfusion. Glucemia capilar."},{id:"conv-oxigeno",title:"Oxigeno y posicion",description:"O2 si precisa. Posicion lateral cuando ceda la crisis."},{id:"conv-farmaco",title:"Tratamiento anticonvulsivante",description:"Midazolam IN/IM/IV segun protocolo si crisis prolongada."},{id:"conv-traslado",title:"Traslado urgente",description:"Monitorizacion, valorar causa secundaria y comunicar tiempos."}],h="checklist_convulsiones_v1",o={startedAt:null,completed:{},manualWeightKg:void 0},T=()=>{if(typeof window>"u")return o;try{const a=window.localStorage.getItem(h);if(!a)return o;const s=JSON.parse(a);return{...o,...s}}catch{return o}},z=a=>{if(!(typeof window>"u"))try{window.localStorage.setItem(h,JSON.stringify(a))}catch{}},_=()=>{const{state:a}=S(),[s,r]=n.useState(o),[D,f]=n.useState(Date.now());n.useEffect(()=>{r(T())},[]),n.useEffect(()=>{z(s)},[s]),n.useEffect(()=>{const t=window.setInterval(()=>f(Date.now()),1e3);return()=>window.clearInterval(t)},[]);const j=k(s.startedAt),l=a.patient.weight??s.manualWeightKg,x=l?Math.min(.2*l,10):null,v=(t,i)=>{r(c=>({...c,completed:{...c.completed,[t]:i}}))},w=()=>{s.startedAt||r(t=>({...t,startedAt:Date.now()}))},N=()=>{r(o)},C=t=>{const i=Number(t);r(c=>({...c,manualWeightKg:Number.isFinite(i)?i:void 0}))};return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("header",{className:"space-y-2",children:[e.jsx("h1",{className:"text-xl font-semibold text-foreground",children:"Checklist Convulsiones"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:"Control de tiempos y soporte vital en crisis convulsiva."})]}),e.jsxs(d,{children:[e.jsxs(m,{className:"flex flex-row items-center justify-between space-y-0",children:[e.jsx(u,{className:"text-base",children:"Temporizador"}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s.startedAt?`Tiempo: ${I(j)}`:"Sin iniciar"})]}),e.jsxs(p,{className:"flex flex-col gap-3 md:flex-row md:items-center md:justify-between",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:"Inicia el temporizador al inicio de la crisis."}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(g,{onClick:w,disabled:!!s.startedAt,children:"Iniciar"}),e.jsx(g,{variant:"outline",onClick:N,children:"Reiniciar"})]})]})]}),e.jsxs(d,{children:[e.jsx(m,{children:e.jsx(u,{className:"text-base",children:"Calculo rapido midazolam"})}),e.jsx(p,{className:"space-y-3",children:e.jsxs("div",{className:"rounded-md border border-border/60 bg-muted/30 p-3 space-y-2",children:[e.jsx(b,{children:"Peso (kg)"}),e.jsx(y,{type:"number",inputMode:"numeric",value:l??"",onChange:t=>C(t.target.value),placeholder:"Ej: 25"}),e.jsx("div",{className:"text-sm text-muted-foreground",children:x?`Dosis IN/BUC: ${x.toFixed(2)} mg (0.2 mg/kg, max 10 mg).`:"Introduce el peso para calcular dosis inicial (0.2 mg/kg)."})]})})]}),A.map(t=>e.jsxs(d,{children:[e.jsx(m,{className:"flex flex-row items-center justify-between space-y-0",children:e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(E,{checked:!!s.completed[t.id],onCheckedChange:i=>v(t.id,!!i)}),e.jsx(u,{className:"text-base",children:t.title})]})}),e.jsx(p,{className:"text-sm text-muted-foreground",children:t.description})]},t.id))]})};export{_ as default};