feat: config files, settings screen, hardware check
- Add config.py with multi-source config (YAML, .env, env vars) - Add .env.example and config.yaml.example - Add settings API endpoints (GET/POST /api/v1/settings) - Add status endpoint (GET /api/v1/status) with hardware subsystem check - Add settings screen to web client (protected by API token) - Add localization strings for settings UI - Add tests for config module and new endpoints - Update README with config documentation
This commit is contained in:
@@ -342,6 +342,107 @@ body {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/* Settings button */
|
||||
.settings-btn {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
background: var(--bg);
|
||||
color: var(--fg);
|
||||
border: 2px solid var(--border);
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
font-size: 1.2em;
|
||||
cursor: pointer;
|
||||
z-index: 100;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
/* Settings screen */
|
||||
#settings-screen {
|
||||
justify-content: flex-start;
|
||||
padding-top: 40px;
|
||||
}
|
||||
|
||||
#settings-screen h1 {
|
||||
font-size: 1.5em;
|
||||
border-bottom: 2px solid var(--border);
|
||||
padding-bottom: 8px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
#settings-screen p {
|
||||
margin-bottom: 12px;
|
||||
color: var(--dim);
|
||||
}
|
||||
|
||||
#settings-token-input {
|
||||
background: var(--bg);
|
||||
color: var(--fg);
|
||||
border: 2px solid var(--border);
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
margin-bottom: 10px;
|
||||
font-family: inherit;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#settings-access-btn,
|
||||
#settings-save-btn,
|
||||
#settings-back-btn {
|
||||
background: var(--bg);
|
||||
color: var(--fg);
|
||||
border: 2px solid var(--border);
|
||||
padding: 10px 20px;
|
||||
font-size: 1em;
|
||||
cursor: pointer;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 10px;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
#settings-content {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
#settings-content .panel {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#settings-content h2 {
|
||||
font-size: 0.9em;
|
||||
margin-bottom: 8px;
|
||||
color: var(--dim);
|
||||
}
|
||||
|
||||
#settings-pin,
|
||||
#settings-token {
|
||||
background: var(--bg);
|
||||
color: var(--fg);
|
||||
border: 2px solid var(--border);
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
font-family: inherit;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#settings-status {
|
||||
margin-top: 15px;
|
||||
padding: 10px;
|
||||
border: 2px solid var(--border);
|
||||
background: var(--panel-bg);
|
||||
}
|
||||
|
||||
.status {
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
.error {
|
||||
color: var(--dim);
|
||||
font-size: 0.9em;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
/* E-Ink specific: no transitions, sharp edges */
|
||||
* {
|
||||
transition: none !important;
|
||||
|
||||
Reference in New Issue
Block a user