import { titelSetzen, titelFreigeben } from './api'; import { dialog } from './dialog'; /** Den Titel eines Eintrags von Hand setzen. * * **Warum es das braucht.** TMDB kennt nicht jeden Titel so, wie er im * Haushalt heisst, und bei einem Mitschnitt gibt es gar keinen. Ohne diesen * Weg bleibt nur der Dateiname oder ein falscher Treffer — und beides liess * sich bisher nirgends geraderücken. * * **Gesetzt heisst festgeschrieben.** Sonst überschreibt das nächste * „Metadaten auffrischen" die Korrektur, und man tippt sie nach jedem Lauf * neu. Den Weg zurück gibt es trotzdem: der Knopf unten gibt ihn wieder frei. */ export function titeldialog( art: 'movies' | 'series', id: string, jetzt: string, fertig?: (neu: string) => void, ): void { dialog({ titel: 'Titel ändern', text: 'Ein Titel von Hand bleibt stehen, auch wenn die Metadaten erneut ' + 'geholt werden. „Wieder automatisch" gibt ihn frei — dann holt ihn der ' + 'nächste Lauf wieder von der Metadatenquelle.', felder: [{ name: 'titel', beschriftung: 'Titel', wert: jetzt }], bestaetigen: 'Speichern', tun: async wert => { const neu = wert('titel').trim(); if (neu.length === 0) throw new Error('Ein Titel darf nicht leer sein.'); await titelSetzen(art, id, neu); fertig?.(neu); }, weiterer: { text: 'Wieder automatisch', tun: async () => { await titelFreigeben(art, id); fertig?.(jetzt); }, }, }); }