Feat(Web): Mini Calendario con indicadores de días activos en bitácoras - DB-First

This commit is contained in:
Ricardo Monla
2026-03-10 17:45:46 -03:00
parent 8d27a8958e
commit c3da4cb6f0
3 changed files with 168 additions and 16 deletions
@@ -308,23 +308,92 @@ body {
.date-selector {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 2rem;
gap: 0.5rem;
margin-bottom: 0.5rem;
position: relative;
}
.date-selector input[type="date"] {
/* Mini Calendario */
.mini-cal {
background: var(--bg-card);
border: 1px solid var(--border);
color: var(--text);
padding: 0.6rem 1rem;
border-radius: 8px;
font-size: 1rem;
font-family: inherit;
border-radius: 12px;
padding: 0.75rem;
margin-bottom: 1.5rem;
box-shadow: 0 8px 32px rgba(0,0,0,0.25);
max-width: 320px;
animation: calSlide 0.2s ease-out;
}
@keyframes calSlide { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
.date-selector input[type="date"]:focus {
outline: none;
border-color: var(--primary);
.mini-cal-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.5rem;
font-weight: 700;
font-size: 0.95rem;
color: var(--text);
}
.mini-cal-header button {
background: none;
border: none;
color: var(--text-secondary);
cursor: pointer;
padding: 0.25rem 0.5rem;
border-radius: 6px;
transition: background 0.15s;
}
.mini-cal-header button:hover { background: var(--bg-hover); }
.mini-cal-grid {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
}
.mini-cal-grid th {
color: var(--text-secondary);
font-size: 0.7rem;
font-weight: 600;
text-align: center;
padding: 0.25rem;
}
.mini-cal-grid td {
text-align: center;
padding: 0.3rem;
font-size: 0.82rem;
cursor: pointer;
border-radius: 8px;
transition: all 0.15s;
position: relative;
color: var(--text-secondary);
}
.mini-cal-grid td:hover:not(.empty) { background: var(--bg-hover); }
.mini-cal-grid td.empty { cursor: default; }
.mini-cal-grid td.has-data {
color: var(--text);
font-weight: 700;
}
.mini-cal-grid td.has-data::after {
content: '';
display: block;
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--primary);
margin: 2px auto 0;
box-shadow: 0 0 6px var(--primary);
}
.mini-cal-grid td.selected {
background: var(--primary);
color: #fff !important;
font-weight: 700;
box-shadow: 0 0 12px rgba(99,102,241,0.5);
}
.mini-cal-grid td.selected::after { background: #fff; box-shadow: none; }
.mini-cal-grid td.today:not(.selected) {
outline: 2px solid var(--primary);
outline-offset: -2px;
}
/* Stats bar */