feat: reorganize settings dialog — add Multi-Device tab, enable/disable toggle, device name as page title

- Add multi_device_enabled: false to DEFAULT_SETTINGS in settings.py
- Add fifth 'Multi-Device' tab (data-tab='devices') to settings dialog sidebar
- Move #setting-device-name, #setting-remote-instances, #add-remote-instance-btn,
  #setting-view-mode, and #setting-view-scope out of Display/Sessions tabs into
  the new dedicated devices panel
- Add #setting-multi-device-enabled checkbox at top of Multi-Device tab;
  when unchecked, all other fields in the tab are greyed out and disabled
- Gate buildSources() remote instances behind multi_device_enabled (smart default:
  treated as enabled if remote_instances is non-empty for backward compat)
- Wire device name → document.title: updates title on openSettings() and on
  every keystroke in the device name input field
- Add _updateMultiDeviceFieldsState() helper to enable/disable fields
- Add #multi-device-fields CSS transition for smooth opacity animation
- Add 19 new tests (settings, HTML, JS, CSS) covering all new behavior
This commit is contained in:
Brian Krabach
2026-03-31 06:16:44 -07:00
parent 881b6cc9f3
commit 679416a5bf
8 changed files with 380 additions and 58 deletions
+5
View File
@@ -1653,3 +1653,8 @@ body {
color: #ef4444;
background: rgba(239, 68, 68, 0.1);
}
/* Multi-Device tab — smooth enable/disable opacity transition */
#multi-device-fields {
transition: opacity 0.2s ease;
}