jiggling out a lil bit of jank

This commit is contained in:
Jing Kohn 2025-11-25 19:08:00 +10:00
parent 8ef5c54c9b
commit 0eb18095e0
3 changed files with 39 additions and 3 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -500,6 +500,7 @@ button:active {
cursor: pointer;
box-shadow: var(--shadow-sm);
transition: var(--transition);
margin-top: -8px;
}
.slider::-webkit-slider-thumb:hover {
@ -537,6 +538,41 @@ button:active {
flex: 1;
}
/* Light mode: thin dark track line */
body:not(.theme-dark) .slider::-webkit-slider-runnable-track {
height: 2px;
background: #222;
border-radius: 1px;
}
body:not(.theme-dark) .slider::-moz-range-track {
height: 2px;
background: #222;
border-radius: 1px;
}
body:not(.theme-dark) .slider::-ms-track {
height: 2px;
background: transparent;
border-color: transparent;
color: transparent;
}
body:not(.theme-dark) .slider::-ms-fill-lower,
body:not(.theme-dark) .slider::-ms-fill-upper {
background: #222;
border-radius: 1px;
}
/* Dark mode: keep subtle grey track */
.theme-dark .slider::-webkit-slider-runnable-track {
height: 2px;
background: #888;
border-radius: 1px;
}
.theme-dark .slider::-moz-range-track {
height: 2px;
background: #888;
border-radius: 1px;
}
/* === Checkboxes === */
.checkbox-label {
display: flex;
@ -563,9 +599,8 @@ button:active {
width: 100%;
max-width: 640px;
margin: 0 auto var(--space-lg);
background: #000;
background: transparent;
border-radius: var(--radius-lg);
overflow: hidden;
box-shadow: var(--shadow-lg);
}
@ -573,6 +608,7 @@ button:active {
display: block;
width: 100%;
height: auto;
border-radius: var(--radius-lg);
}
.preview-info { font-size: 11px; color: #888; text-align: center; margin-top: 6px; }
body.theme-dark .preview-info { color: #aaa; }

View File

@ -256,7 +256,7 @@ function recordSession(){ var n = (patientName.value||'').trim()||'Unnamed'; var
if(loadPatientBtn){ loadPatientBtn.addEventListener('click', function(){ var sel = document.getElementById('patientList'); if(!sel) return; var n = sel.value; if(!n) return; patientName.value = n; refreshPatientUI() }) }
var speedBoost = document.getElementById('speedBoost');
if(speedBoost){ speedBoost.addEventListener('click', function(e){ var m = e.target.dataset.mult; if(!m) return; var mult = parseInt(m,10)||1; var btns = speedBoost.querySelectorAll('button'); for(var i=0;i<btns.length;i++){ btns[i].classList.toggle('active', btns[i].dataset.mult==String(mult)) } var base = parseInt(speed.value,10)||250; updateSpeedLabel(); applyState({ speed: base*mult, speedMultiplier: mult }, true) }) }
savePatientBtn.addEventListener('click', function(){ var n = (patientName.value||'').trim()||'Unnamed'; var p = getPatient(n); setPatient(p); refreshPatientUI() })
savePatientBtn.addEventListener('click', function(){ var n = (patientName.value||'').trim()||'Unnamed'; var p = getPatient(n); setPatient(p); refreshPatientList(); patientName.value=''; refreshPatientUI() })
if(saveSessionNotesBtn){ saveSessionNotesBtn.addEventListener('click', function(){ var n = (patientName.value||'').trim()||'Unnamed'; var p = getPatient(n); var idx = parseInt((sessionSelect && sessionSelect.value)||'-1',10); if(!p.sessions || !(p.sessions[idx])) return; p.sessions[idx].notes = (sessionNotesEl && sessionNotesEl.value)||''; setPatient(p); refreshPatientUI() }) }
if(loadSessionBtn){ loadSessionBtn.addEventListener('click', function(){ var n = (patientName.value||'').trim()||'Unnamed'; var p = getPatient(n); var idx = parseInt((sessionSelect && sessionSelect.value)||'-1',10); if(!p.sessions || !(p.sessions[idx])) return; if(sessionNotesEl){ sessionNotesEl.value = p.sessions[idx].notes||'' } }) }
if(deleteSessionSingleBtn){ deleteSessionSingleBtn.addEventListener('click', function(){ var n = (patientName.value||'').trim()||'Unnamed'; var p = getPatient(n); var idx = parseInt((sessionSelect && sessionSelect.value)||'-1',10); if(!p.sessions || !(p.sessions[idx])) return; p.sessions.splice(idx,1); p.count = (p.sessions||[]).length; if(p.count){ var sorted = p.sessions.slice().sort(function(a,b){ return a.start - b.start }); p.last = sorted[p.count-1] } else { p.last = null } setPatient(p); refreshPatientUI() }) }