feat(ui): add enable/disable toggle for Ralph Wiggum tracker

Add ability to enable/disable the Ralph tracker:
- Per-session toggle in Session Options > Ralph Wiggum tab
- Global default toggle in App Settings

Changes:
- Add "Enable Tracker" toggle to ralph-tab in session options modal
- Add "Enable Ralph Wiggum Tracker" toggle to app settings modal
- Update /api/sessions/:id/inner-config endpoint to handle `enabled` param
- Add CSS for toggle switch component
- New sessions inherit global setting from app settings
- Setting is saved in innerConfig and synced with backend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
arkon
2026-01-19 18:56:34 +01:00
co-authored by Claude Opus 4.5
parent 6a414a2648
commit fc319d8987
4 changed files with 123 additions and 1 deletions
+71
View File
@@ -1466,6 +1466,77 @@ body {
margin-top: 0.35rem;
}
/* Switch toggle for form rows */
.form-row-switch {
display: flex;
align-items: center;
gap: 0.75rem;
flex-wrap: wrap;
}
.form-row-switch > label:first-child {
margin-bottom: 0;
min-width: 120px;
}
.form-row-switch .form-hint {
flex-basis: 100%;
margin-top: 0.25rem;
}
.switch {
position: relative;
display: inline-block;
width: 36px;
height: 20px;
flex-shrink: 0;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.switch .slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: var(--bg-input);
border: 1px solid var(--border);
transition: 0.2s;
border-radius: 20px;
}
.switch .slider:before {
position: absolute;
content: "";
height: 14px;
width: 14px;
left: 2px;
bottom: 2px;
background-color: var(--text-muted);
transition: 0.2s;
border-radius: 50%;
}
.switch input:checked + .slider {
background-color: var(--accent);
border-color: var(--accent);
}
.switch input:checked + .slider:before {
transform: translateX(16px);
background-color: white;
}
.switch input:focus + .slider {
box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.3);
}
.form-actions {
display: flex;
justify-content: flex-end;