Ordner durchklicken, statt den Pfad zu wissen
Beim Anlegen einer Mediathek verlangte das Feld den Pfad im Container — nicht den auf dem NAS. Diese Unterscheidung kennt nur, wer die Compose-Datei selbst geschrieben hat, und ein Tippfehler darin ergibt eine leere Mediathek ohne erkennbaren Grund. Neben dem Feld steht jetzt ein Knopf, der die Ordner des Servers im selben Dialog aufklappt: Pfadzeile in anklickbaren Stücken, Unterordner darunter, unten der Knopf mit dem gewählten Pfad darauf. Im selben Dialog und nicht in einem zweiten darüber: zwei gestapelte Dialoge sind beim Schliessen immer eine Frage zu viel. Das Feld bleibt tippbar. Wer den Pfad kennt, ist damit schneller, und bei einem tiefen Baum ist es die einzige geduldschonende Möglichkeit. An der Wurzel bleiben /proc, /sys, /usr und Verwandte aussen vor. Das ist keine Absperrung — wer den Pfad kennt, tippt ihn weiterhin ein —, sondern eine Liste aus zwanzig Einträgen, von denen achtzehn nie eine Mediathek enthalten, ist unbrauchbar. Ein Ordner ohne Leserecht wird gemeldet, nicht geworfen. Ohne das flöge eine UnauthorizedAccessException bis in die Antwort und würde zur 500, während die ehrliche Auskunft lautet: den darfst du nicht lesen. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
64fb61f2dc
commit
b25c7a4712
@@ -418,6 +418,20 @@ export const laufendeWiedergaben = () =>
|
||||
|
||||
export const serverzustand = () => anfrage<Serverzustand>('/system/status');
|
||||
|
||||
/** Ein Ordner im Dateisystem des Servers, zum Durchklicken. */
|
||||
export type Ordnerstand = {
|
||||
path: string;
|
||||
/** `null` an der Wurzel — dann gibt es kein „eine Ebene hoch". */
|
||||
parent: string | null;
|
||||
entries: { name: string; path: string }[];
|
||||
/** Warum die Liste leer ist — oder `null`, wenn sie es nicht ist. */
|
||||
note: string | null;
|
||||
};
|
||||
|
||||
/** Listet Unterordner. Ohne Pfad fängt der Server bei etwas Sinnvollem an. */
|
||||
export const ordner = (pfad?: string) =>
|
||||
anfrage<Ordnerstand>('/system/folders' + (pfad ? `?path=${encodeURIComponent(pfad)}` : ''));
|
||||
|
||||
export const servernameSetzen = (name: string) =>
|
||||
anfrage<void>('/system/name', { method: 'PUT', body: JSON.stringify({ name }) });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user