Bibliothek: eindeutige Namen auch für Auswahl-ZIPs

Dieselbe Schwäche eine Ebene weiter: Jedes ZIP aus der Bibliothek hieß
`klarbild_2026-09-01.zip`, zwei verschiedene Auswahlen am selben Tag im selben
Ordner überschrieben sich also. Jetzt
`2026-09-01_143207_auswahl-12-bilder_a3f9.zip`, und der Client liest den Namen
aus dem Kopf statt einen eigenen zu bauen.

124 Tests grün.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BNhLunz586g6DeYMa7Qsd1
This commit is contained in:
tillandClaude Opus 5 committed 2026-09-01 15:39:39 +00:00
1 parent a87587c273
commit 545f9ae909
4 files changed
+30 -3

No files matched your search

+4 -1
View File
@@ -1,4 +1,5 @@
import React, { useState, useEffect, useCallback } from 'react';
import { nameAusKopf } from '../lib/naming';
import ShareDialog, { type ShareZiel } from './ShareDialog';
interface Item { id: string; filename: string; output_px: string; has_alpha: boolean;
@@ -77,7 +78,9 @@ export default function LibraryApp() {
if (!res.ok) { notify('ZIP fehlgeschlagen.'); return; }
const blob = await res.blob();
const a = document.createElement('a'); a.href = URL.createObjectURL(blob);
a.download = `klarbild_${new Date().toISOString().slice(0, 10)}.zip`; a.click();
// Der Name kommt vom Server — hier einen eigenen zu bauen hieße, zwei
// Auswahlen desselben Tages wieder gleich zu nennen.
a.download = nameAusKopf(res.headers.get('Content-Disposition'), 'klarbild-auswahl.zip'); a.click();
URL.revokeObjectURL(a.href); notify('ZIP geladen.');
};
const alternative = async (id: string) => {