Restore markdown width and emergency cleanup

This commit is contained in:
planetazuzu 2026-01-20 09:28:20 +01:00
parent e43f7335a2
commit e4b3adb6e6
3 changed files with 18 additions and 24 deletions

View file

@ -103,26 +103,19 @@ Comprender la lógica del algoritmo te prepara para reconocer su estructura cuan
## Bloque 3: Enlace Operativo ## Bloque 3: Enlace Operativo
### Enlace al Protocolo Operativo <div style="text-align: center; margin: 24px 0;">
<a
href="/escena?tab=abcde"
style="display: inline-block; padding: 12px 20px; border-radius: 10px; border: 2px solid #94a3b8; color: #e2e8f0; text-decoration: none; font-weight: 600;"
>
Ver pasos operativos exactos del Protocolo ABCDE →
</a>
</div>
**Texto del enlace:** "Ver pasos operativos exactos del Protocolo ABCDE" <!--
Descripción interna (no renderizar en la UI):
**Tipo de enlace:** Enlace discreto (no botón primario) Enlace discreto al protocolo operativo con mensaje contextual de uso en emergencia real.
-->
**Mensaje contextual:**
> Esta guía explica la lógica del algoritmo como estructura mental. Para la ejecución clínica durante una emergencia, consulta el protocolo operativo.
**Ubicación:** Al final del bloque de texto explicativo, antes de pasar a la siguiente sección.
**Estilo visual sugerido:**
- Enlace de texto con estilo discreto (color secundario, sin fondo destacado)
- Icono sutil de enlace o flecha pequeña
- Tamaño de texto normal, no destacado
- Posicionado de manera que no compita visualmente con el contenido principal
**Propósito:**
Este enlace proporciona acceso al protocolo operativo para aquellos usuarios que, después de comprender la lógica del algoritmo, necesitan consultar los pasos exactos, técnicas específicas, escalas precisas y secuencia operativa detallada. El enlace discreto comunica que esta guía de refuerzo es complementaria al protocolo operativo, no sustituta.
--- ---

View file

@ -30,8 +30,7 @@ interface MarkdownViewerProps {
*/ */
onError?: (error: Error) => void; onError?: (error: Error) => void;
/** /**
* Forzar ancho completo del contenido en pantallas grandes. * Forzar ancho completo (sin límites de lectura)
* Útil para guías visuales donde el contenido debe ocupar todo el ancho.
*/ */
fullWidth?: boolean; fullWidth?: boolean;
} }
@ -120,10 +119,10 @@ const MarkdownViewer = ({
} }
// Renderizar Markdown // Renderizar Markdown
const widthClasses = fullWidth ? 'max-w-none' : 'max-w-none md:max-w-prose lg:max-w-[700px]'; const widthClass = fullWidth ? 'max-w-none' : 'md:max-w-prose lg:max-w-[700px]';
return ( return (
<div className={`prose prose-slate dark:prose-invert ${widthClasses} ${className}`}> <div className={`prose prose-slate dark:prose-invert ${widthClass} ${className}`}>
<ReactMarkdown <ReactMarkdown
remarkPlugins={[remarkGfm, remarkFrontmatter]} remarkPlugins={[remarkGfm, remarkFrontmatter]}
rehypePlugins={[ rehypePlugins={[

View file

@ -32,10 +32,12 @@ const EmergencyModeOverlay = ({ isOpen, onClose }: EmergencyModeOverlayProps) =>
setSituation(null); setSituation(null);
getLocationSnapshot().then((location) => { getLocationSnapshot().then((location) => {
if (!isCancelled && location) { if (isCancelled) return;
if (location) {
updateEmergencyEvent(event.id, { location }); updateEmergencyEvent(event.id, { location });
} }
}); });
return () => { return () => {
isCancelled = true; isCancelled = true;
}; };