feat: Sprint 3 — settings page with tabs/toggles/devices/danger-zone, brief page

This commit is contained in:
swanadiva
2026-07-07 13:31:13 +07:00
parent c4b0d7d8c0
commit c5ac07e27f
10 changed files with 438 additions and 11 deletions
+39
View File
@@ -0,0 +1,39 @@
package model
type AppConfig struct {
Theme string `json:"theme"` // light | dark
FontSize int `json:"fontSize"` // 12-18
Scrollback int `json:"scrollback"` // 1000-10000
AutoLock int `json:"autoLock"` // minutes
Keepalive bool `json:"keepalive"`
CopyOnSelect bool `json:"copyOnSelect"`
BellEnabled bool `json:"bellEnabled"`
AutoReconnect bool `json:"autoReconnect"`
BlinkCursor bool `json:"blinkCursor"`
}
type ConfigStore struct {
Config AppConfig
}
func NewConfigStore() *ConfigStore {
return &ConfigStore{Config: defaultConfig()}
}
func (s *ConfigStore) Get() AppConfig { return s.Config }
func (s *ConfigStore) Update(cfg AppConfig) { s.Config = cfg }
func defaultConfig() AppConfig {
return AppConfig{
Theme: "light",
FontSize: 14,
Scrollback: 5000,
AutoLock: 5,
Keepalive: true,
CopyOnSelect: true,
BellEnabled: false,
AutoReconnect: true,
BlinkCursor: false,
}
}