fix(availability): translate status messages, return stored admin reason from API

- Add AvailabilityStatusDetails record and GetStatusDetailsAsync() to
  IAvailabilityService; implement in PersistentAvailabilityService so the
  admin-set reason stored in the database is returned alongside the status
- AvailabilityController.GetStatus() now returns the stored message instead
  of hardcoded English strings
- Add messageAvailable / messageMaintenance / messageUnavailable translation
  keys in en + nl so default messages are fully translatable
- AvailabilityStatusBadge: Available always shows the translated default;
  Maintenance and Unavailable show the custom admin reason when set,
  otherwise fall back to the translated default

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-06-22 14:53:11 +02:00
co-authored by Claude Haiku 4.5
parent d69512a449
commit d8b0484803
8 changed files with 100 additions and 26 deletions
@@ -66,6 +66,9 @@
"available": "Available",
"maintenance": "Maintenance",
"unavailable": "Unavailable",
"messageAvailable": "System is running normally.",
"messageMaintenance": "System is undergoing scheduled maintenance.",
"messageUnavailable": "System is currently unavailable.",
"errorTitle": "Could not load status",
"staleLabel": "Last known status",
"retry": "Retry"