feat(apple): streamline the Storage screen and fix stuck usage

Redesign the Storage screen for clarity: an "On this device" usage header with a
manual Refresh control, symbol-led action buttons, and a caption under each action
spelling out exactly what it does (Free up space = temp + trash, non-destructive;
Delete all transfers = clears history + cached share content, keeps received
files).

Fix the summary sticking on "Calculating…": it loaded only on .onAppear and bailed
when opened before the core finished its async launch, leaving the loading branch
showing with nothing running (only a manual refresh recovered it). loadStorageUsage
now waits for the core to become ready before reading usage, distinguishes a real
failure (retry) from loading, loads via .task, and can be refreshed on demand. Use
plain button styling with explicit tints so pressing an action no longer flips the
label to the white selection highlight.
This commit is contained in:
2026-07-24 14:07:31 +02:00
parent 677c3ce47f
commit e22e395efc
12 changed files with 224 additions and 39 deletions

View File

@@ -206,6 +206,11 @@
<string name="storage_cleaning">Wird bereinigt…</string>
<string name="storage_cleanup_busy">Beende aktive Übertragungen, bevor du Speicher freigibst</string>
<string name="storage_cleanup_freed">%1$s freigegeben</string>
<string name="storage_delete_transfers_caption">Löscht deinen Sende- und Empfangsverlauf sowie die zwischengespeicherten Freigabeinhalte der App. Empfangene Dateien auf dem Datenträger bleiben erhalten.</string>
<string name="storage_free_up_space_caption">Entfernt temporäre Dateien und Reste früherer Übertragungen. Deine Übertragungen und empfangenen Dateien bleiben erhalten.</string>
<string name="storage_refresh">Aktualisieren</string>
<string name="storage_unavailable">Die Speichernutzung ist noch nicht verfügbar</string>
<string name="storage_usage_header">Auf diesem Gerät</string>
<string name="storage_free_up_space">Speicher freigeben</string>
<string name="storage_delete_transfers">Alle Übertragungen löschen</string>
<string name="storage_delete_transfers_description">Dadurch werden alle Datensätze gesendeter und empfangener Übertragungen aus Ihrem Verlauf gelöscht. Ihre empfangenen Dateien werden nicht gelöscht. Nicht mehr benötigte zwischengespeicherte freigegebene Inhalte werden automatisch bereinigt; dies kann etwas dauern. Dies kann nicht rückgängig gemacht werden.</string>