feat(admin): unified ticket inbox over CMS and help-center queues
CI / check (push) Successful in 22s
CI / release (push) Skipped
CI / deploy (push) Successful in 57s

Merged read-model inbox at /admin/tickets and /mod/tickets with type badges and deep links; CMS-only lists moved to /desk. No DB schema merge.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-08-01 14:49:19 +02:00
1 parent 24d0b735c1
commit d8199ea1e4
31 files changed
+1580 -394

No files matched your search

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
-7
View File
@@ -2,7 +2,6 @@ import { eq } from "drizzle-orm";
import {
Ban,
Gavel,
LifeBuoy,
LogOut,
Radio,
Shield,
@@ -73,12 +72,6 @@ export default async function ModLayout({ children }: { children: ReactNode }) {
icon: Ticket,
show: showTickets,
},
{
href: "/mod/help-tickets",
label: t("nav.helpTickets"),
icon: LifeBuoy,
show: showTickets,
},
{
href: "/mod/actions",
label: t("nav.actions"),
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+6 -1
View File
@@ -109,9 +109,14 @@ export const ADMIN_HUBS: AdminHubDefinition[] = [
tabs: [
{
href: "/admin/tickets",
labelKey: "tickets",
labelKey: "ticketInbox",
match: ["/admin/tickets"],
},
{
href: "/admin/tickets/desk",
labelKey: "tickets",
match: ["/admin/tickets/desk"],
},
{
href: "/admin/help-tickets",
labelKey: "helpTickets",
File diff suppressed because it is too large. Load diff
+21 -2
View File
@@ -125,9 +125,9 @@ describe("staff smoke contract", () => {
it("guards dual ticket queues on admin and mod", () => {
for (const path of [
"src/app/admin/tickets/page.tsx",
"src/app/admin/tickets/desk/page.tsx",
"src/app/admin/help-tickets/page.tsx",
"src/app/mod/tickets/page.tsx",
"src/app/mod/tickets/desk/page.tsx",
"src/app/mod/help-tickets/page.tsx",
]) {
expect(existsSync(path), path).toBe(true);
@@ -135,6 +135,25 @@ describe("staff smoke contract", () => {
}
});
it("ships unified ticket inbox over both queues", () => {
expect(existsSync("src/lib/admin/ticket-inbox.ts")).toBe(true);
expect(readFileSync("src/lib/admin/ticket-inbox.ts", "utf8")).toContain(
"fetchUnifiedTicketInbox",
);
expect(existsSync("src/components/admin/unified-tickets-table.tsx")).toBe(
true,
);
expect(readFileSync("src/app/admin/tickets/page.tsx", "utf8")).toContain(
"fetchUnifiedTicketInbox",
);
expect(readFileSync("src/app/mod/tickets/page.tsx", "utf8")).toContain(
"fetchUnifiedTicketInbox",
);
expect(readFileSync("src/lib/admin-nav.ts", "utf8")).toContain(
"ticketInbox",
);
});
it("ships items_base browser", () => {
expect(existsSync("src/app/admin/items/page.tsx")).toBe(true);
expect(existsSync("src/app/admin/items/[id]/page.tsx")).toBe(true);
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2565,7 +2565,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2870,6 +2871,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"radioRequests": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+32 -7
View File
@@ -981,7 +981,7 @@
"advertisements": "Advertisements",
"writeableBoxes": "Writeable boxes",
"photos": "Photos",
"tickets": "Support desk",
"tickets": "Tickets",
"helpTickets": "Help-center tickets",
"events": "Events",
"polls": "Polls",
@@ -1510,7 +1510,7 @@
"tickets": {
"title": "CMS support desk",
"subtitle": "Internal CMS tickets (assignee, priority, staff workflow). Not the same as help-center tickets from /help.",
"queueHint": "This queue is the CMS support desk. Player help-center tickets live in the Help-center tickets tab.",
"queueHint": "This queue is the CMS support desk. Player help-center tickets live in the Help-center tickets tab. Use Inbox for both queues.",
"queueOtherCta": "Open help-center tickets",
"queueCounts": "Open here: {here} · Help center: {other}",
"noTickets": "No active tickets",
@@ -1527,11 +1527,35 @@
"colDate": "Date",
"meta": "by {user} · {count} msg · {category}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product’s own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
},
"helpTickets": {
"title": "Help center tickets",
"subtitle": "Tickets players open at /help/tickets. Separate from the CMS support desk.",
"queueHint": "This queue is the public help center. CMS support desk tickets are in the Support desk tab.",
"queueOtherCta": "Open CMS support desk",
"queueHint": "This queue is the public help center. Use Inbox for both queues, or Support desk for CMS-only.",
"queueOtherCta": "Open unified inbox",
"queueCounts": "Open here: {here} · Support desk: {other}",
"noTickets": "No open help center tickets",
"searchPlaceholder": "Search title, user or ID…",
@@ -2516,6 +2540,7 @@
"eventTypes": "Event types",
"polls": "Polls",
"tickets": "Support desk",
"ticketInbox": "Inbox",
"helpTickets": "Help center",
"templates": "Templates",
"directory": "Directory",
@@ -2577,8 +2602,8 @@
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
"tickets": "Support desk",
"ticketsSubtitle": "Two separate queues: CMS support desk and public help-center tickets",
"tickets": "Tickets",
"ticketsSubtitle": "Unified inbox over CMS support desk and help-center queues",
"staffAccess": "Ranks & permissions",
"staffAccessSubtitle": "Staff ranks and live access. Archive is compare/export only.",
"analytics": "Analytics",
@@ -3080,7 +3105,7 @@
"bans": "Bans",
"fullAdmin": "Full admin",
"backToSite": "Back to site",
"tickets": "Support desk",
"tickets": "Tickets",
"helpTickets": "Help-center tickets",
"users": "Users",
"team": "Team"
+26 -1
View File
@@ -2565,7 +2565,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2870,6 +2871,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"radioRequests": {
+26 -1
View File
@@ -2565,7 +2565,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2870,6 +2871,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"radioRequests": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+29 -4
View File
@@ -952,7 +952,7 @@
"advertisements": "Pubblicità",
"writeableBoxes": "Box modificabili",
"photos": "Foto",
"tickets": "Assistenza",
"tickets": "Ticket",
"helpTickets": "Ticket centro assistenza",
"events": "Eventi",
"polls": "Sondaggi",
@@ -2812,12 +2812,13 @@
"devops": "DevOps",
"errors": "Errori",
"alerts": "Alert",
"toolsGroup": "Strumenti"
"toolsGroup": "Strumenti",
"ticketInbox": "Inbox"
},
"events": "Eventi",
"eventsSubtitle": "Eventi hotel e tipi evento",
"tickets": "Assistenza",
"ticketsSubtitle": "Due code separate: supporto CMS e ticket help center pubblici",
"tickets": "Ticket",
"ticketsSubtitle": "Inbox unificata su supporto CMS e help center",
"staffAccess": "Gradi e permessi",
"staffAccessSubtitle": "Gradi staff e accesso live. L'archivio e solo confronto/export.",
"analytics": "Analitiche",
@@ -3042,6 +3043,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Vista unificata dei ticket aperti CMS e help center. I dettagli restano sulle route di ciascun prodotto.",
"noTickets": "Nessun ticket aperto in nessuna coda",
"searchPlaceholder": "Cerca oggetto, titolo, utente o ID…",
"statCmsOpen": "CMS aperti",
"statHelpOpen": "Help aperti",
"statTotal": "Totale aperti",
"colTicket": "Ticket",
"colStatus": "Stato",
"colType": "Coda",
"colUpdated": "Aggiornato",
"meta": "di {user}",
"typeAll": "Tutte le code",
"typeCms": "Supporto CMS",
"typeHelp": "Help center",
"statusOpen": "Aperti",
"statusClosed": "Chiusi",
"statusAll": "Tutti gli stati",
"presetOpen": "Solo aperti",
"modNavLabel": "Code:",
"modNavInbox": "Inbox",
"modNavDesk": "Supporto CMS",
"modNavHelp": "Help center"
}
},
"radioRequests": {
+26 -1
View File
@@ -2853,7 +2853,8 @@
"devops": "DevOps",
"errors": "Fouten",
"alerts": "Meldingen",
"toolsGroup": "Tools"
"toolsGroup": "Tools",
"ticketInbox": "Inbox"
},
"events": "Evenementen",
"eventsSubtitle": "Hotel-evenementen en evenementtypes",
@@ -3051,6 +3052,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"mod": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2593,7 +2593,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2898,6 +2899,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {
+26 -1
View File
@@ -2595,7 +2595,8 @@
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
@@ -2900,6 +2901,30 @@
"title": "Online users",
"subtitle": "Players currently connected",
"connected": "{count, plural, one {# player connected} other {# players connected}}"
},
"ticketInbox": {
"hint": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
}
},
"error": {