feat: Dokumenten-Menü neu — Brotkrume im App-Kopf, Stand-Knöpfe im Editor-Kopf (D81)

Der Dokument-Wähler steht jetzt als gerahmter Chip "Werkbaum › Name" im
App-Kopf und ist damit auch auf dem Telefon aus beiden Bereichen erreichbar;
sein Name übernimmt dort die Untertitel-Zeile. Das Menü gruppiert nach
Dokumentart (docKind, headless getestet), trägt Umbenennen/Löschen/
Wiederherstellen als Symbole je Zeile und scrollt als Ganzes, statt auf
kleinen Bildschirmen abgeschnitten zu werden. Die Editor-Titelzeile heißt
wieder "Text-Editor" und trägt die Stand-Funktionen des aktiven Dokuments:
Speichern (Strg+S), Stand sichern, frühere Stände, Neu laden (Original/URL/
Datei) und den neuen kurzen Teilen-Knopf (vorher "Auf den Server legen" im
Menü). subtitleShort ist ersatzlos ausgebaut.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-26 22:21:11 +02:00
co-authored by Claude Fable 5
parent fdca934cf0
commit 4be6ecb984
12 changed files with 620 additions and 236 deletions
+14
View File
@@ -30,6 +30,20 @@ export function docParam(id){
return null;
}
/* Zu welcher Gruppe des Dokumenten-Menüs gehört ein Dokument? (D81)
Die Art steckt — wie bei docParam — in der id: mitgeliefert (feste ids),
Server (`live:`) und URL (`url:`) sind Quellen von außen, alles andere ist
ein eigenes Dokument im Browser (Datei-Dokumente eingeschlossen — ohne
File-System-Access-Handle sind sie von eigenen nicht zu unterscheiden,
und das Handle lebt nur in Chromium). */
export function docKind(id, shippedIds){
const roh = String(id == null ? '' : id);
if((shippedIds || []).indexOf(roh) >= 0) return 'shipped';
if(roh.startsWith('live:')) return 'server';
if(roh.startsWith('url:')) return 'url';
return 'own';
}
/* Der neue Query-String zu `search` (mit oder ohne führendes `?`) für das
Dokument `id`.