release: prepare Twitch VOD Manager 1.0.2

Redesign the seven-area desktop workspace with responsive navigation, searchable settings, localized controls, and accessible update states.

Harden Electron release coverage with fully isolated user data, download paths, offline fixtures, concurrency checks, and public-release manifest validation.
This commit is contained in:
Sucukdeluxe
2026-08-10 12:29:56 +02:00
parent dacd66fe1c
commit d599593966
29 changed files with 2388 additions and 725 deletions
+11 -2
View File
@@ -1,6 +1,13 @@
let archiveStatsRefreshInFlight = false;
async function refreshArchiveStats(): Promise<void> {
if (archiveStatsRefreshInFlight) return;
const btn = document.getElementById('btnStatsRefresh') as HTMLButtonElement | null;
const toolbarBtn = document.getElementById('toolbarStatsRefreshBtn') as HTMLButtonElement | null;
archiveStatsRefreshInFlight = true;
if (btn) btn.disabled = true;
if (toolbarBtn) toolbarBtn.disabled = true;
const lastLabel = document.getElementById('statsLastScannedLabel');
if (lastLabel) lastLabel.textContent = (UI_TEXT.static.statsScanning as string) || 'Scanning...';
@@ -9,9 +16,11 @@ async function refreshArchiveStats(): Promise<void> {
renderArchiveStats(stats);
} catch (e) {
const summary = document.getElementById('statsSummaryGrid');
if (summary) summary.textContent = `Fehler: ${String(e)}`;
if (summary) summary.textContent = `${UI_TEXT.static.errorPrefix}: ${String(e)}`;
} finally {
archiveStatsRefreshInFlight = false;
if (btn) btn.disabled = false;
if (toolbarBtn) toolbarBtn.disabled = false;
}
}
@@ -19,7 +28,7 @@ function renderArchiveStats(stats: ArchiveStats): void {
const lastLabel = document.getElementById('statsLastScannedLabel');
if (lastLabel) {
const dt = new Date(stats.scannedAt);
lastLabel.textContent = `${UI_TEXT.static.statsScannedAt}: ${dt.toLocaleString()}`;
lastLabel.textContent = `${UI_TEXT.static.statsScannedAt}: ${formatUiDateTime(dt)}`;
}
renderStatsSummary(stats);