Frontend
This commit is contained in:
parent
a2620f2e69
commit
477d210e64
|
|
@ -0,0 +1,10 @@
|
||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
||||||
|
# Ignored default folder with query files
|
||||||
|
/queries/
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/oncodiario.iml" filepath="$PROJECT_DIR$/.idea/oncodiario.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
|
|
@ -0,0 +1,445 @@
|
||||||
|
:root{
|
||||||
|
--primary:#4da3ff;
|
||||||
|
--secondary:#7dd3fc;
|
||||||
|
--success:#22c55e;
|
||||||
|
--bg:#0b1220;
|
||||||
|
--bg-soft:#111c2d;
|
||||||
|
--card:#101b2d;
|
||||||
|
--card-strong:#16243d;
|
||||||
|
--text:#eaf3ff;
|
||||||
|
--navy:#dfeafe;
|
||||||
|
--muted:#9bb0d0;
|
||||||
|
--border:#1d2f49;
|
||||||
|
--shadow:0 20px 50px rgba(0, 0, 0, 0.45);
|
||||||
|
}
|
||||||
|
|
||||||
|
*{
|
||||||
|
box-sizing:border-box;
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body{
|
||||||
|
font-family: 'Inter', Segoe UI, Arial, sans-serif;
|
||||||
|
background:radial-gradient(circle at top, #11213d 0%, #0b1220 38%, #070d1a 100%);
|
||||||
|
color:var(--text);
|
||||||
|
padding:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container{
|
||||||
|
max-width:1200px;
|
||||||
|
margin:auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-shell{
|
||||||
|
max-width:1280px;
|
||||||
|
margin:0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:space-between;
|
||||||
|
gap:20px;
|
||||||
|
background:rgba(16, 27, 45, 0.9);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:18px;
|
||||||
|
padding:18px 24px;
|
||||||
|
box-shadow:var(--shadow);
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
gap:12px;
|
||||||
|
font-weight:700;
|
||||||
|
color:var(--navy);
|
||||||
|
}
|
||||||
|
|
||||||
|
.brand-mark{
|
||||||
|
width:36px;
|
||||||
|
height:36px;
|
||||||
|
border-radius:12px;
|
||||||
|
background:linear-gradient(135deg, var(--primary), var(--secondary));
|
||||||
|
color:#08101d;
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
font-size:1.1rem;
|
||||||
|
box-shadow:0 12px 20px rgba(77, 163, 255, 0.35);
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-nav{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
gap:22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-nav a{
|
||||||
|
text-decoration:none;
|
||||||
|
color:var(--navy);
|
||||||
|
font-weight:600;
|
||||||
|
opacity:.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-nav a:hover{
|
||||||
|
color:var(--secondary);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn{
|
||||||
|
display:inline-flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
padding:12px 20px;
|
||||||
|
border-radius:12px;
|
||||||
|
font-weight:700;
|
||||||
|
text-decoration:none;
|
||||||
|
transition:all .2s ease;
|
||||||
|
border:1px solid transparent;
|
||||||
|
cursor:pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn:hover{
|
||||||
|
transform:translateY(-1px);
|
||||||
|
box-shadow:0 10px 18px rgba(77, 163, 255, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-primary{
|
||||||
|
background:linear-gradient(135deg, var(--primary), #5ea9ff);
|
||||||
|
color:#08101d;
|
||||||
|
box-shadow:0 10px 18px rgba(77, 163, 255, 0.28);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-secondary{
|
||||||
|
background:rgba(18, 31, 50, 0.9);
|
||||||
|
color:var(--text);
|
||||||
|
border-color:var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero{
|
||||||
|
display:grid;
|
||||||
|
grid-template-columns:1.2fr .8fr;
|
||||||
|
gap:32px;
|
||||||
|
align-items:center;
|
||||||
|
padding:20px 0 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-copy{
|
||||||
|
padding:20px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eyebrow{
|
||||||
|
display:inline-block;
|
||||||
|
background:rgba(77, 163, 255, 0.12);
|
||||||
|
color:var(--secondary);
|
||||||
|
padding:8px 12px;
|
||||||
|
border:1px solid rgba(125, 211, 252, 0.28);
|
||||||
|
border-radius:999px;
|
||||||
|
font-size:.8rem;
|
||||||
|
font-weight:700;
|
||||||
|
letter-spacing:.04em;
|
||||||
|
text-transform:uppercase;
|
||||||
|
margin-bottom:18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1{
|
||||||
|
color:var(--navy);
|
||||||
|
font-size:clamp(2.2rem, 4vw, 4rem);
|
||||||
|
line-height:1.1;
|
||||||
|
margin-bottom:18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-copy p{
|
||||||
|
font-size:1.08rem;
|
||||||
|
line-height:1.7;
|
||||||
|
color:var(--muted);
|
||||||
|
max-width:620px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions{
|
||||||
|
display:flex;
|
||||||
|
gap:16px;
|
||||||
|
margin-top:26px;
|
||||||
|
flex-wrap:wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mini-stats{
|
||||||
|
list-style:none;
|
||||||
|
display:flex;
|
||||||
|
gap:24px;
|
||||||
|
margin-top:28px;
|
||||||
|
flex-wrap:wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mini-stats li{
|
||||||
|
min-width:110px;
|
||||||
|
background:rgba(19, 29, 46, 0.95);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:16px;
|
||||||
|
padding:16px 18px;
|
||||||
|
box-shadow:0 8px 20px rgba(0,0,0,0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mini-stats strong{
|
||||||
|
display:block;
|
||||||
|
color:var(--secondary);
|
||||||
|
font-size:1.35rem;
|
||||||
|
margin-bottom:6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mini-stats span{
|
||||||
|
color:var(--muted);
|
||||||
|
font-size:.9rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero-panel{
|
||||||
|
background:linear-gradient(180deg, #111d2e 0%, #0d1726 100%);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:24px;
|
||||||
|
padding:24px;
|
||||||
|
box-shadow:var(--shadow);
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-header{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
gap:10px;
|
||||||
|
font-weight:700;
|
||||||
|
color:var(--navy);
|
||||||
|
margin-bottom:18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-dot{
|
||||||
|
width:10px;
|
||||||
|
height:10px;
|
||||||
|
border-radius:50%;
|
||||||
|
background:var(--success);
|
||||||
|
box-shadow:0 0 0 6px rgba(34, 197, 94, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-card{
|
||||||
|
background:rgba(77, 163, 255, 0.08);
|
||||||
|
border-radius:18px;
|
||||||
|
padding:18px;
|
||||||
|
border:1px solid rgba(77, 163, 255, 0.24);
|
||||||
|
margin-bottom:22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label{
|
||||||
|
color:var(--muted);
|
||||||
|
font-size:.8rem;
|
||||||
|
margin-bottom:8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-card h3{
|
||||||
|
color:var(--text);
|
||||||
|
font-size:1.7rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-metrics{
|
||||||
|
display:grid;
|
||||||
|
grid-template-columns:1fr 1fr;
|
||||||
|
gap:14px;
|
||||||
|
margin-bottom:20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-metrics div{
|
||||||
|
background:rgba(17, 29, 46, 0.8);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:14px;
|
||||||
|
padding:14px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-metrics small{
|
||||||
|
display:block;
|
||||||
|
color:var(--muted);
|
||||||
|
margin-bottom:8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-metrics strong{
|
||||||
|
color:var(--text);
|
||||||
|
font-size:1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-progress{
|
||||||
|
background:rgba(17, 29, 46, 0.8);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:14px;
|
||||||
|
padding:14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-labels{
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:space-between;
|
||||||
|
gap:10px;
|
||||||
|
margin-bottom:10px;
|
||||||
|
font-size:.9rem;
|
||||||
|
color:var(--navy);
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar{
|
||||||
|
background:#101a2b;
|
||||||
|
height:12px;
|
||||||
|
border-radius:999px;
|
||||||
|
overflow:hidden;
|
||||||
|
border:1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress-bar span{
|
||||||
|
display:block;
|
||||||
|
width:68%;
|
||||||
|
height:100%;
|
||||||
|
background:linear-gradient(90deg, var(--primary), var(--secondary));
|
||||||
|
border-radius:inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.features{
|
||||||
|
display:grid;
|
||||||
|
grid-template-columns:repeat(3, minmax(0, 1fr));
|
||||||
|
gap:24px;
|
||||||
|
padding:20px 0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card{
|
||||||
|
background:rgba(16, 27, 45, 0.96);
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:20px;
|
||||||
|
padding:26px 20px;
|
||||||
|
box-shadow:0 12px 22px rgba(0,0,0,0.12);
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card h2{
|
||||||
|
color:var(--secondary);
|
||||||
|
margin-bottom:12px;
|
||||||
|
font-size:1.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card p{
|
||||||
|
color:var(--muted);
|
||||||
|
line-height:1.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 900px){
|
||||||
|
.hero{
|
||||||
|
grid-template-columns:1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar{
|
||||||
|
flex-wrap:wrap;
|
||||||
|
justify-content:center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.topbar-nav{
|
||||||
|
order:3;
|
||||||
|
width:100%;
|
||||||
|
justify-content:center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 640px){
|
||||||
|
body{
|
||||||
|
padding:14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.features{
|
||||||
|
grid-template-columns:1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
.actions,
|
||||||
|
.mini-stats{
|
||||||
|
flex-direction:column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn{
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card{
|
||||||
|
background:var(--card);
|
||||||
|
padding:20px;
|
||||||
|
margin-bottom:20px;
|
||||||
|
border-radius:12px;
|
||||||
|
box-shadow:0 2px 8px rgba(0,0,0,.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
h1, h2{
|
||||||
|
margin-bottom:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2{
|
||||||
|
margin-bottom:15px;
|
||||||
|
color:#dfeafe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.progress{
|
||||||
|
display:flex;
|
||||||
|
gap:8px;
|
||||||
|
flex-wrap:wrap;
|
||||||
|
margin:15px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.session{
|
||||||
|
width:40px;
|
||||||
|
height:40px;
|
||||||
|
border:2px solid var(--primary);
|
||||||
|
border-radius:50%;
|
||||||
|
display:flex;
|
||||||
|
align-items:center;
|
||||||
|
justify-content:center;
|
||||||
|
cursor:pointer;
|
||||||
|
transition:.3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.session.completed{
|
||||||
|
background:var(--success);
|
||||||
|
color:white;
|
||||||
|
border-color:var(--success);
|
||||||
|
}
|
||||||
|
|
||||||
|
table{
|
||||||
|
width:100%;
|
||||||
|
border-collapse:collapse;
|
||||||
|
margin-top:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
th{
|
||||||
|
background:var(--primary);
|
||||||
|
color:#07111d;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,td{
|
||||||
|
border:1px solid var(--border);
|
||||||
|
padding:10px;
|
||||||
|
text-align:center;
|
||||||
|
color:var(--text);
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type="text"],
|
||||||
|
input[type="date"],
|
||||||
|
textarea,
|
||||||
|
select{
|
||||||
|
width:100%;
|
||||||
|
padding:8px;
|
||||||
|
border:1px solid var(--border);
|
||||||
|
border-radius:6px;
|
||||||
|
background:rgba(13, 23, 38, 0.9);
|
||||||
|
color:var(--text);
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea{
|
||||||
|
min-height:120px;
|
||||||
|
resize:vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
.question{
|
||||||
|
margin-bottom:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
small{
|
||||||
|
display:block;
|
||||||
|
margin-top:10px;
|
||||||
|
color:var(--muted);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,111 @@
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
||||||
|
<title>OncoDiario</title>
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="css/estilos.css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="page-shell">
|
||||||
|
<header class="topbar container">
|
||||||
|
<div class="brand" aria-label="OncoDiario logo">
|
||||||
|
<span class="brand-mark">O</span>
|
||||||
|
<span>OncoDiario</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nav class="topbar-nav" aria-label="Navegación principal">
|
||||||
|
<a href="#info">Inicio</a>
|
||||||
|
<a href="#info">Qué incluye</a>
|
||||||
|
<a href="seguimiento.html">Seguimiento</a>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<a class="btn btn-primary" href="seguimiento.html">Abrir seguimiento</a>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main class="container hero">
|
||||||
|
<section class="hero-copy">
|
||||||
|
<span class="eyebrow">Cuidado personalizado</span>
|
||||||
|
<h1>Tu tratamiento, monitorizado con claridad.</h1>
|
||||||
|
<p>
|
||||||
|
Registra sesiones, revisa síntomas y lleva un control semanal de tu evolución
|
||||||
|
para acompañarte mejor en cada fase del tratamiento.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="actions">
|
||||||
|
<a class="btn btn-primary" href="seguimiento.html">Ir a seguimiento</a>
|
||||||
|
<a class="btn btn-secondary" href="#info">Más información</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ul class="mini-stats" aria-label="Estadísticas rápidas">
|
||||||
|
<li>
|
||||||
|
<strong>12</strong>
|
||||||
|
<span>semanas</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>3</strong>
|
||||||
|
<span>registros</span>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<strong>24/7</strong>
|
||||||
|
<span>seguimiento</span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<aside class="hero-panel" aria-label="Resumen del tratamiento">
|
||||||
|
<div class="panel-header">
|
||||||
|
<span class="status-dot"></span>
|
||||||
|
<span>Resumen del paciente</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel-card">
|
||||||
|
<p class="label">Tratamiento actual</p>
|
||||||
|
<h3>Quimioterapia</h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel-metrics">
|
||||||
|
<div>
|
||||||
|
<small>Próxima sesión</small>
|
||||||
|
<strong>15 oct</strong>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<small>Estado</small>
|
||||||
|
<strong>Estable</strong>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="panel-progress">
|
||||||
|
<div class="progress-labels">
|
||||||
|
<span>Progreso semanal</span>
|
||||||
|
<strong>68%</strong>
|
||||||
|
</div>
|
||||||
|
<div class="progress-bar">
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</aside>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<section id="info" class="container features" aria-label="Características principales">
|
||||||
|
<article class="feature-card">
|
||||||
|
<h2>Calendario</h2>
|
||||||
|
<p>Organiza sesiones, fechas de tratamiento y revisiones médicas.</p>
|
||||||
|
</article>
|
||||||
|
<article class="feature-card">
|
||||||
|
<h2>Síntomas</h2>
|
||||||
|
<p>Controla fatiga, náuseas, dolor y bienestar general cada semana.</p>
|
||||||
|
</article>
|
||||||
|
<article class="feature-card">
|
||||||
|
<h2>Consulta</h2>
|
||||||
|
<p>Prepara preguntas y anota observaciones para tus citas con el equipo.</p>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,114 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="es">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title>OncoDiario - Seguimiento del Tratamiento</title>
|
||||||
|
|
||||||
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;700&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
|
||||||
|
<link rel="stylesheet" href="css/estilos.css">
|
||||||
|
<link rel="icon" href="img/logo.svg" type="image/x-icon">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h1>🩺 OncoDiario</h1>
|
||||||
|
<p>Seguimiento del tratamiento oncológico</p>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<label>Fecha de inicio:</label>
|
||||||
|
<input type="date">
|
||||||
|
|
||||||
|
<div class="progress" id="progress"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Calendario de sesiones</h2>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Semana</th>
|
||||||
|
<th>Fecha</th>
|
||||||
|
<th>Tratamiento</th>
|
||||||
|
<th>Completada</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="sessionsTable"></tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Registro semanal de síntomas</h2>
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Semana</th>
|
||||||
|
<th>Fatiga</th>
|
||||||
|
<th>Náuseas</th>
|
||||||
|
<th>Dolor</th>
|
||||||
|
<th>Neuropatía</th>
|
||||||
|
<th>Sueño</th>
|
||||||
|
<th>Estado ánimo</th>
|
||||||
|
<th>Observaciones</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="symptomsTable"></tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<small>
|
||||||
|
Escala: 0=nada | 1=leve | 2=moderado | 3=importante |
|
||||||
|
4=muy importante | 5=incapacitante
|
||||||
|
</small>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Preguntas para el oncólogo</h2>
|
||||||
|
|
||||||
|
<div id="questions"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="card">
|
||||||
|
<h2>Notas de consulta</h2>
|
||||||
|
<textarea placeholder="Escribe aquí tus notas..."></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
// Barra de progreso
|
||||||
|
const progress = document.getElementById('progress');
|
||||||
|
|
||||||
|
for(let i=1;i<=12;i++){
|
||||||
|
const item = document.createElement('div');
|
||||||
|
item.className = 'session';
|
||||||
|
item.innerText = i;
|
||||||
|
|
||||||
|
item.addEventListener('click',()=>{
|
||||||
|
item.classList.toggle('completed');
|
||||||
|
});
|
||||||
|
|
||||||
|
progress.appendChild(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calendario de sesiones
|
||||||
|
|
||||||
|
const sessionsTable =
|
||||||
|
document.getElementById('sessionsTable');
|
||||||
|
|
||||||
|
for(let i=1;i<=12;i++){
|
||||||
|
|
||||||
|
sessionsTable.innerHTML += `
|
||||||
|
<tr>
|
||||||
|
<td>${i}</td>
|
||||||
|
<td><input type="date"></td>
|
||||||
|
<td><input type="text" placeholder="Quimioterapia, inmunoterapia..."></td>
|
||||||
|
<td><input type="checkbox"></td>
|
||||||
|
<
|
||||||
Loading…
Reference in New Issue