feat: Refactor admin UI pages to support embedded mode and improve navigation

- Updated PlayerLogs, Players, Reports, Rooms, Settings, SignupCodes, and other pages to accept an optional `embedded` prop for better integration in various contexts.
- Introduced a new Activity page consolidating audit logs and player request logs with tab navigation.
- Added Content page for community board and loading tips with tab navigation.
- Created Moderation page to unify player directory, bans, and reports under a single interface.
- Implemented SettingsHome page to manage server settings and signup codes with tab navigation.
- Enhanced the Join page to include password creation for new accounts.
- Added global friends feature in Settings to allow all accounts to be friends without database entries.
- Introduced RelationshipQueries service to manage effective friend resolution based on global friends toggle.
- Added WireDates for consistent date handling in serialized data.
- Created reusable Tabs component for consistent tab navigation across various pages.
This commit is contained in:
Alexa
2026-06-06 16:39:19 +03:00
parent 34506e8294
commit 955246c6e4
41 changed files with 4129 additions and 2057 deletions
@@ -284,7 +284,10 @@ public class ImagesController(
[HttpGet("api/images/v1/slideshow")]
public IActionResult SlideshowInfo() => Ok(new
{
ValidTill = new DateTime(9999, 12, 31, 0, 0, 0, DateTimeKind.Utc),
// WireDates.FarFuture (2099), NOT year 9999 — a 9999 ValidTill
// overflows the watch's local-timezone date parse in some DST
// timezones → "malformed RecNet response". See WireDates.
ValidTill = WireDates.FarFuture,
Images = Array.Empty<object>(),
});