progress.py setzt docs/progress-sync.md um (read_at in Serverzeit mit Uhrversatz, sent_at beim
Senden, force, Warteschlange je Buch, Neuanwendung nach dem Abgleich; dieselben Regeln wie
Ops.kt/ops.js). Der Reader speichert nur, was der Leser bewegt hat; wiederherstellen,
Umbruch und Sprünge schreiben nichts. Neuere Stellen anderer Geräte werden angeboten
("Auf X weitergelesen – springen?"), nie von allein angewendet; "w" springt zur weitesten
Stelle. Fortschritt als Textanteil in Zeichen statt 0.0.
Abgleich über GET /books/ (ohne Markierungs-Blobs), Bücher erst beim Öffnen geladen
(☁ in der Liste). `diora-tui login` meldet wie die Apps an, liest den vorhandenen Token,
leitet den Schlüssel aus dem Passwort ab und speichert beides geschützt (DPAPI).
DIORA_TUI_HOME legt alle Dateien in einen Ordner (platformdirs folgt unter Windows den
Umgebungsvariablen nicht). 35 Tests, tools/smoke_server.py gegen einen lokalen Server.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
66 lines
915 B
Text
66 lines
915 B
Text
#library-list {
|
|
height: 1fr;
|
|
}
|
|
|
|
StatusBar {
|
|
dock: bottom;
|
|
height: 1;
|
|
padding: 0 1;
|
|
background: $panel;
|
|
color: $text-muted;
|
|
text-align: right;
|
|
}
|
|
|
|
#reader-scroll {
|
|
height: 1fr;
|
|
padding: 1 2;
|
|
align-horizontal: center;
|
|
}
|
|
|
|
#reader-loading {
|
|
height: 1fr;
|
|
}
|
|
|
|
FootnoteScreen {
|
|
align: center middle;
|
|
}
|
|
|
|
#footnote-body {
|
|
width: 80%;
|
|
max-width: 100;
|
|
height: auto;
|
|
max-height: 80%;
|
|
background: $panel;
|
|
border: round $primary;
|
|
padding: 1 2;
|
|
}
|
|
|
|
.footnote-note {
|
|
margin-bottom: 1;
|
|
}
|
|
|
|
#footnote-hint {
|
|
dock: bottom;
|
|
width: 80%;
|
|
max-width: 100;
|
|
background: $panel;
|
|
color: $text-muted;
|
|
padding: 0 2;
|
|
}
|
|
|
|
JumpOfferScreen {
|
|
align: center middle;
|
|
}
|
|
|
|
#offer-body {
|
|
width: 60;
|
|
height: auto;
|
|
background: $panel;
|
|
border: round $primary;
|
|
padding: 1 2;
|
|
}
|
|
|
|
#offer-hint {
|
|
margin-top: 1;
|
|
color: $text-muted;
|
|
}
|