Default offline cleanup dialog to entire packages first
This commit is contained in:
@@ -1921,7 +1921,7 @@ export function App(): ReactElement {
|
||||
const [startConflictPrompt, setStartConflictPrompt] = useState<StartConflictPromptState | null>(null);
|
||||
const startConflictResolverRef = useRef<((result: { policy: Extract<DuplicatePolicy, "skip" | "overwrite">; applyToAll: boolean } | null) => void) | null>(null);
|
||||
const [confirmPrompt, setConfirmPrompt] = useState<ConfirmPromptState | null>(null);
|
||||
const offlineRemovalScopeRef = useRef<OfflineSkipScope>("archive");
|
||||
const offlineRemovalScopeRef = useRef<OfflineSkipScope>("package");
|
||||
const [backupPassphraseMode, setBackupPassphraseMode] = useState<BackupPassphraseMode | null>(null);
|
||||
const [onlineBackupDialog, setOnlineBackupDialog] = useState<OnlineBackupDialogState | null>(null);
|
||||
const [remoteDiag, setRemoteDiag] = useState<RemoteDiagnosticsInfo | null>(null);
|
||||
@@ -4864,9 +4864,9 @@ export function App(): ReactElement {
|
||||
const english = normalizeLanguage(settings.language) === "en";
|
||||
const count = candidates.length.toLocaleString(english ? "en-US" : "de-DE");
|
||||
const packageLabel = english ? (candidates.length === 1 ? "package" : "packages") : (candidates.length === 1 ? "Paket" : "Pakete");
|
||||
offlineRemovalScopeRef.current = "archive";
|
||||
offlineRemovalScopeRef.current = "package";
|
||||
const confirmed = await askConfirmPrompt({
|
||||
offlineScope: "archive",
|
||||
offlineScope: "package",
|
||||
title: english ? "Remove packages with offline links" : "Pakete mit Offline-Links entfernen",
|
||||
message: english
|
||||
? `${count} ${packageLabel} with offline links in the entire queue. This applies regardless of filters or selection.`
|
||||
|
||||
@@ -8,18 +8,18 @@ export function OfflineRemovalScopeChoice({ scope, english, onChange }: {
|
||||
return (
|
||||
<fieldset style={{ border: 0, padding: 0, margin: "16px 0", display: "grid", gap: 14 }}>
|
||||
<legend style={{ marginBottom: 12 }}>{english ? "What should be removed?" : "Was soll entfernt werden?"}</legend>
|
||||
<label style={{ display: "flex", alignItems: "flex-start", gap: 10 }}>
|
||||
<input type="radio" name="offline-removal-scope" value="archive" checked={scope === "archive"} onChange={() => onChange("archive")} />
|
||||
<span><strong>{english ? "Only affected archive sets" : "Nur betroffene Archivsätze"}</strong><br />
|
||||
{english ? "Remove all parts of the affected episode or archive. Other episodes in the package remain." : "Alle Parts der betroffenen Folge oder des Archivs entfernen. Andere Folgen im Paket bleiben erhalten."}
|
||||
</span>
|
||||
</label>
|
||||
<label style={{ display: "flex", alignItems: "flex-start", gap: 10 }}>
|
||||
<input type="radio" name="offline-removal-scope" value="package" checked={scope === "package"} onChange={() => onChange("package")} />
|
||||
<span><strong>{english ? "Entire packages" : "Ganze Pakete"}</strong><br />
|
||||
{english ? "Remove the entire parent package as soon as one link is offline." : "Das gesamte übergeordnete Paket entfernen, sobald ein Link offline ist."}
|
||||
</span>
|
||||
</label>
|
||||
<label style={{ display: "flex", alignItems: "flex-start", gap: 10 }}>
|
||||
<input type="radio" name="offline-removal-scope" value="archive" checked={scope === "archive"} onChange={() => onChange("archive")} />
|
||||
<span><strong>{english ? "Only affected archive sets" : "Nur betroffene Archivsätze"}</strong><br />
|
||||
{english ? "Remove all parts of the affected episode or archive. Other episodes in the package remain." : "Alle Parts der betroffenen Folge oder des Archivs entfernen. Andere Folgen im Paket bleiben erhalten."}
|
||||
</span>
|
||||
</label>
|
||||
<p style={{ margin: 0 }}>{english ? "Active downloads being removed will stop. Downloaded files are kept in both cases." : "Die zu entfernenden laufenden Downloads werden gestoppt. Heruntergeladene Dateien bleiben in beiden Fällen erhalten."}</p>
|
||||
</fieldset>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user