import { AlertTriangle, HelpCircle, RotateCcw, Disc } from 'lucide-react' import { Modal } from './ui/Modal' import { Button } from './ui/Button' /* * Was wird bei „Neu" eigentlich wiederholt? * * Commander-Frage 26.07.2026: „Hier gibt es den Button ‚neu' aber WAS wird dann * gemacht? Komprimierung? Neu Gerippt? Das muss ja je nach fehlgeschlagenem Job * eine Option anbieten." Bis dahin hieß der Knopf nur „Neu" und rief immer die * Kompression — auch bei einem Job, dessen RIP abgebrochen war. Aus 5,1 GB * Bruchstück (von rund 40 GB) wäre brav ein Film geworden, der bei 12 % endet. * * Dieser Dialog nennt beim Namen, was passiert, und in welchen Punkten sich die * beiden Wege unterscheiden: Braucht es die Disc? Wie lange dauert es? Was * passiert mit dem, was schon auf der Platte liegt? * * Die Phase kommt aus api/phasen.py. Kennt Rippy sie nicht (Jobs von vor der * Einführung der Marke), wird nicht geraten — dann stehen beide Wege da, und * die Größe der Rohdaten ist die Entscheidungshilfe: Wer ungefähr eine * Disc-Größe daliegen sieht, hatte einen fertigen Rip. */ interface RetryDialogProps { offen: boolean titel: string plan: 'transcode' | 'rip' | 'unklar' rohdaten: { gb: number, dateien: number, pfade: string[] } | null onClose: () => void onStart: (art: 'transcode' | 'rip') => void } function Rohdaten({ rohdaten }: { rohdaten: RetryDialogProps['rohdaten'] }) { if (!rohdaten) return null if (!rohdaten.gb) { return (
Auf der Platte liegt zu diesem Job nichts (mehr) — neu rippen ist damit der einzige Weg.
) } return (Auf der Platte liegen {rohdaten.gb} GB Rohdaten {rohdaten.dateien > 0 ? ` in ${rohdaten.dateien} Datei${rohdaten.dateien === 1 ? '' : 'en'}` : ''}. {' '}Eine Blu-ray bringt roh etwa 25–45 GB mit, eine 4K-UHD 50–100 GB, eine DVD 4–8 GB. Passt die Zahl dazu, war der Rip fertig.
) } export default function RetryDialog({ offen, titel, plan, rohdaten, onClose, onStart, }: RetryDialogProps) { const name = titel || 'Dieser Job' return (Der Rip war fertig — abgebrochen ist erst die Kompression. Rippy nimmt die vorhandene Roh-Datei und komprimiert sie noch einmal. Die Disc wird nicht gebraucht, das Laufwerk bleibt frei, und die Stunde fürs Rippen fällt nicht erneut an.
Hier ist der Rip selbst abgebrochen. Was davon auf der Platte liegt, ist ein Bruchstück — komprimieren würde daraus einen Film machen, der mitten drin aufhört. Rippy liest die Disc deshalb von vorn.
Die Disc muss dafür im Laufwerk liegen. Nach dem Fehlschlag wurde sie möglicherweise ausgeworfen. Titel, Ablage, Sprachwahl und Encoder-Worker werden vom alten Job übernommen.
Der alte Eintrag bleibt zum Nachlesen stehen; das Bruchstück lässt sich über den Papierkorb daran mitlöschen.
Bei diesem Job kann Rippy nicht mehr feststellen, ob der Rip fertig war oder mitten drin abbrach — er ist älter als der Vermerk dafür. Deshalb wird hier nicht geraten: