feat(admin): server-safe StatusCard and Import hub polish
Split OnlineUsersWidget from StatusCard, decouple ad delete button, sync badge import to ExternalTexts+WebsiteBadges, add Import section hub with cancelable SSE jobs and upload SQL option. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
db957d7fb1
commit
9c4949186c
21 files changed
+576
-249
No files matched your search
@@ -34,6 +34,7 @@ import {
|
||||
Terminal,
|
||||
Ticket,
|
||||
Trophy,
|
||||
Upload,
|
||||
Users,
|
||||
UsersRound,
|
||||
Volume2,
|
||||
@@ -217,6 +218,38 @@ export const ADMIN_HUBS: AdminHubDefinition[] = [
|
||||
{ href: "/admin/devops/errors", labelKey: "errors" },
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "import",
|
||||
titleKey: "import",
|
||||
subtitleKey: "importSubtitle",
|
||||
icon: Upload,
|
||||
prefixes: ["/admin/import"],
|
||||
tabs: [
|
||||
{
|
||||
href: "/admin/import",
|
||||
labelKey: "importOverview",
|
||||
match: ["/admin/import"],
|
||||
},
|
||||
{ href: "/admin/import/badges", labelKey: "importBadges" },
|
||||
{
|
||||
href: "/admin/import/furni/upload",
|
||||
labelKey: "importUpload",
|
||||
match: ["/admin/import/furni/upload"],
|
||||
},
|
||||
{
|
||||
href: "/admin/import/furni",
|
||||
labelKey: "importFurni",
|
||||
match: ["/admin/import/furni"],
|
||||
},
|
||||
{ href: "/admin/import/clothing", labelKey: "importClothing" },
|
||||
{ href: "/admin/import/effects", labelKey: "importEffects" },
|
||||
{ href: "/admin/import/pets", labelKey: "importPets" },
|
||||
{ href: "/admin/import/clone", labelKey: "importClone" },
|
||||
{ href: "/admin/import/sync", labelKey: "importSync" },
|
||||
{ href: "/admin/import/repair-icons", labelKey: "importRepairIcons" },
|
||||
{ href: "/admin/import/audit", labelKey: "importAudit" },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
/** Longest-prefix match so nested routes (e.g. /admin/logs/audit) win. */
|
||||
|
||||
Reference in new issue
Block a user