feat: Archiv-Tab fuer Bestellungen, Retouren und Produkte im Admin
Docker Image bauen und veroeffentlichen / build-and-push (push) Successful in 3m24s

Abgeschlossene Eintraege wandern automatisch in einen Tab "Archiv", damit
die aktiven Listen nur zeigen, was noch zu tun ist:
- Bestellungen: versendet/abgeholt/storniert, keine offene Retoure,
  seit einem Monat nicht bearbeitet
- Retouren: angenommen/abgelehnt/erstattet, seit einem Monat nicht bearbeitet
- Produkte: seit einem Monat Bestand 0 (nur Admin-Sicht, Shop unveraendert)

Die Automatik laeuft beim Oeffnen der jeweiligen Liste (hoechstens alle
5 Minuten) und holt Eintraege zurueck, sobald sie wieder offen sind.
Zusaetzlich "Archivieren"/"Wiederherstellen" per Hand; von Hand
archivierte Eintraege fasst die Automatik nicht an. Alle Verschiebungen
landen im Audit-Log.

Neue Felder archivedAt/archivedManually samt Index an orders,
return_requests und products (Migration 20260925010000_archive_fields).

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-25 04:05:10 +02:00
1 parent 01eaca39dc
commit fb9c2353c6
14 files changed
+772 -54

No files matched your search

+15
View File
@@ -915,6 +915,21 @@ export const en: Dictionary = {
unknown: "Status unknown",
},
},
adminArchive: {
tabsAriaLabel: "View",
tabActive: "Active",
tabArchive: "Archive",
archive: "Archive",
restore: "Restore",
archivedOn: (date) => `Archived on ${date}`,
manualHint: "manually",
autoRuleOrders:
"Shipped, picked-up and cancelled orders without an open return move here automatically after one month without changes.",
autoRuleReturns: "Accepted, rejected and refunded returns move here automatically after one month without changes.",
autoRuleProducts:
"Products with zero stock for more than a month move here automatically and return once they are back in stock. They stay visible in the shop.",
emptyArchive: "The archive is empty.",
},
errorPage: {
eyebrow: "Error",
title: "Something went wrong.",