Release 0.8.0
This commit is contained in:
1 parent
21c0de7dd9
commit
07f2c4607b
47 files changed
+5314
-2303
No files matched your search
+62
-16
@@ -19,6 +19,41 @@ gelangen. Routen liefern nur die für ihre Ansicht erlaubten Daten. Fachlogik
|
||||
wird nicht an Svelte-Komponenten gebunden, damit Browseraktionen und die
|
||||
spätere API dieselben Regeln verwenden.
|
||||
|
||||
## Navigation, Suche und Arbeitsflächen
|
||||
|
||||
`+layout.svelte` stellt für angemeldete Nutzer genau die globalen Bereiche Start,
|
||||
Eingang, Pieces, Streams und Live bereit. Desktop verwendet eine horizontale
|
||||
Kopfzeile, Mobilgeräte eine obere Such-/Kontoleiste und eine Safe-Area-fähige
|
||||
Bottom-Navigation. `UserMenu.svelte` bündelt Verwaltung, Abmeldung und die weiter
|
||||
in `localStorage` gespeicherte explizite Auswahl Hell, Dunkel oder System.
|
||||
|
||||
Die Root-Route komponiert das Dashboard ausschließlich aus `listShows()`,
|
||||
`getShow()`, `listPieces()` und den vorhandenen Verwendungskontexten. Sie besitzt
|
||||
keinen eigenen persistenten Zustand. Pieces und Streams verwenden getrennte,
|
||||
lokal gespeicherte Ein-/Ausklappzustände ihrer Kontextnavigation; URL-Parameter
|
||||
bleiben die fachliche Quelle für lokale Suche und Filter.
|
||||
|
||||
`global-search.ts` ist eine serverseitige, ausschließlich hinter `requireUser`
|
||||
verwendete Projektion. Sie durchsucht aktive und archivierte Pieces einschließlich
|
||||
redaktioneller Langtexte sowie Metadaten und Usage-Snapshots aller Streams. Die
|
||||
Route `/suche` gibt gruppierte Positivprojektionen mit ID, Titel, Status, internem
|
||||
Ziel, Feldbezeichnung und begrenztem Ausschnitt aus. Gelöschte Pieces werden nicht
|
||||
global angeboten. Es gibt keinen externen Index und keine neue Persistenz.
|
||||
|
||||
Die normale Piece-Arbeitsmenge schließt Originale mit materialisierter
|
||||
Verwendungshistorie aus. Dieselben Originale werden unter `view=completed` mit
|
||||
ihren verlinkten Streams angezeigt und bleiben über die bestehenden
|
||||
Planungsfilter erneut einplanbar. Abgeschlossene Streams werden nicht mehr als
|
||||
eigener globaler Archivbereich behandelt, sondern von `listShows()` in der
|
||||
Streamübersicht gefiltert. Der technische `/archiv`-Pfad bleibt für archivierte
|
||||
und gelöschte Pieces bestehen.
|
||||
|
||||
Der Usage-Editor verwendet weiterhin `PieceEditorDialog` und dieselben
|
||||
Form-Actions. Auf breiten Ansichten öffnet das Dialogelement nicht-modal als
|
||||
rechte Arbeitsleiste; ohne ausgewählte Usage wird es nicht gerendert. Unterhalb
|
||||
der mobilen Grenze öffnet dieselbe Komponente modal und nutzt den verfügbaren
|
||||
Viewport.
|
||||
|
||||
## Laufzeit und Speicher
|
||||
|
||||
- Lokal: `.data/sendewerk.sqlite` und `.data/uploads`, jeweils konfigurierbar.
|
||||
@@ -380,12 +415,12 @@ Status und Termin.
|
||||
## Oberflächenstruktur
|
||||
|
||||
Die Hauptnavigation umfasst Eingang, Fundus, Sendungen, Archiv und Verwaltung.
|
||||
Auf dem Desktop bleibt eine feste Seitenleiste sichtbar; Verwaltung liegt an
|
||||
ihrem unteren Ende. Bis einschließlich `52rem` ersetzen eine obere Leiste und
|
||||
die untere Hauptnavigation die Seitenleiste vollständig. Auf breiten Ansichten
|
||||
stehen Fundus und Ablauf nebeneinander. Bis einschließlich `72rem` werden sie
|
||||
über eine gut erreichbare Umschaltung einzeln gezeigt, damit auch schmale
|
||||
Desktopfenster ohne horizontalen Überlauf bedienbar bleiben.
|
||||
Auf dem Desktop liegt sie als feste horizontale Glasleiste oberhalb der
|
||||
Arbeitsfläche. Bis einschließlich `52rem` ersetzen eine kompakte obere Leiste
|
||||
und die untere Hauptnavigation diesen Desktopkopf vollständig. Auf breiten
|
||||
Ansichten stehen Fundus und Ablauf nebeneinander. Bis einschließlich `72rem`
|
||||
werden sie über eine gut erreichbare Umschaltung einzeln gezeigt, damit auch
|
||||
schmale Desktopfenster ohne horizontalen Überlauf bedienbar bleiben.
|
||||
Die Sendungsübersicht schaltet über zwei gleichwertige Formularaktionen zwischen
|
||||
Liste und Kalender um. Auf breiten Ansichten erscheint ein siebenspaltiges
|
||||
Monatsraster ohne Termin-Drag-and-drop; bis `52rem` ersetzt es eine lineare,
|
||||
@@ -422,17 +457,28 @@ Metadaten aller 3.671 Icons, zeigt je Suchergebnis aber höchstens 120 Einträge
|
||||
gleichzeitig. Allgemeine Seiten wie Login oder Navigation laden den Katalog
|
||||
nicht in ihren Client-Chunk.
|
||||
|
||||
Der Fundus ist auf breiten Ansichten ein Raster aus Bibliotheksnavigation,
|
||||
mittlerer Liste beziehungsweise Piece-Schreibfläche und rechter Kontextspalte.
|
||||
Kleinere Desktopfenster blenden zuerst den rechten Kontext aus; mobil wird die
|
||||
Bibliotheksnavigation zur horizontalen Auswahl und im geöffneten Editor ganz
|
||||
ausgeblendet. URL-Parameter tragen Suche und Filter über den Routenwechsel,
|
||||
`sessionStorage` ausschließlich die zugehörige flüchtige Listenposition.
|
||||
|
||||
Der eigenständige Piece-Editor ordnet denselben Formvertrag als redaktionelles
|
||||
Arbeitsblatt an. Titel, Fundstück, private Recherche sowie Einleitung,
|
||||
Moderationsstichpunkte und Überleitung bilden die primäre Schreibfläche.
|
||||
Quellen, Einordnung, Präsentation und eine Bildzusammenfassung liegen auf breiten
|
||||
Ansichten in einer kontextuellen Seitenleiste; auf kleinen Ansichten öffnen
|
||||
dieselben DOM-Formfelder als fokussierbare Werkzeugflächen und werden dabei nicht
|
||||
neu erzeugt oder ausgehängt. `EditorialMarkdownField` hält Lese- und
|
||||
Bearbeitungszustand je Textfeld lokal, während alle Werte weiterhin gemeinsam
|
||||
über die bestehende `save`-Action und Piece-Revision gespeichert werden. Die
|
||||
separate Bild-Action und alle Präsentationsactions bleiben eigene serverseitige
|
||||
Mutationen.
|
||||
Arbeitsblatt ohne Desktopdialog an. Titel, Einleitung, Moderationsstichpunkte,
|
||||
Interaktion, Überleitung, private Recherche, Quellen und Werkzeuge bilden die
|
||||
mittlere Schreibfläche. Status, Dauer, Einordnung, Präsentationsmodi und Medien
|
||||
liegen auf breiten Ansichten rechts. Alle Werte werden weiterhin gemeinsam über
|
||||
die bestehende `save`-Action und Piece-Revision gespeichert; separate Bild- und
|
||||
Präsentationsactions bleiben eigene serverseitige Mutationen.
|
||||
|
||||
`RichMarkdownField` erstellt je sichtbarem Langtext genau eine Tiptap-Instanz mit
|
||||
StarterKit und offizieller Markdown-Erweiterung. Der Formularwert bleibt rohes
|
||||
Markdown. Eine Bearbeitung aktualisiert ihn aus `getMarkdown()`, während das
|
||||
bloße Initialisieren keinen Input auslöst. Weicht die erste Serialisierung vom
|
||||
gespeicherten Text ab, startet das Feld in der Markdown-Quellansicht. Der Nutzer
|
||||
kann diese Ansicht jederzeit erreichen; Autosave erzeugt die Editorinstanz nicht
|
||||
neu.
|
||||
|
||||
## Sicherheitsgrenzen
|
||||
|
||||
|
||||
Reference in new issue
Block a user