Page body
What this surface shows
This route shows one casino transaction selected by the legacy transactionId URL segment.
At runtime the page does not treat that segment as the generic transaction id. It passes the value into useTransactions({ casinoTransactionId }), so the route behaves as a detail view keyed by casinoTransactionId.
It is a read-only inspection page designed for cases where the operator needs a single transaction in a fuller layout than the list row can provide.
How to read it
The page fetches the transaction by casinoTransactionId through the same admin list endpoint used by the casino-transactions grid and then renders the first returned row as a key-value summary.
The detail view is strongest for:
- checking the exact transaction id
- checking the internal
casinoTransactionIdversus the storedtransactionId - confirming player email
- confirming the game and provider
- confirming the timestamps rendered by the shared key-value component
- reading the non-null payload keys returned for that single row
Known caveats
- The page fetches through the same casino transaction hook used by the list, but with
casinoTransactionIdpinned. - This is a list-query shim, not a dedicated detail endpoint. The route still goes through
GET /api/admin/get-casino-transactions. - The route has no dedicated action bar, modal stack, or edit flow. It is a read-only detail page that relies on standard module navigation to leave the screen.
TransactionGamingDetailsreturnsnullwhile the query is loading and also returnsnullwhen the filtered query comes back empty. There is no dedicated empty-state card on this route.- The visible field inventory depends on the transaction object returned by the hook.
KeyValueDisplayremovesnullandundefinedkeys before rendering. - The visible sections are generated by frontend heuristics, not by a backend-authored display schema. Non-null keys are grouped into
Identifiers,Financial Details,Dates & Timestamps,Status Information, andAdditional Details. - The dedicated detail page is not the same renderer as the inline expansion panel in the casino-transactions list. The list uses a bespoke card layout with UTC wording and explicit status mapping, while this route shows raw payload keys through
KeyValueDisplay. KeyValueDisplayformatscreatedAtandupdatedAtin the browser or workstation timezone because no explicit timezone is passed intogetFormattedDateTime().- The
Statusrow on this route uses the genericKeyValueDisplaystatus formatter. Numeric payload values such as0/1/2/3can therefore appear more raw than the humanizedPending / Complete / Failed / Rollbacklabels shown in the list row.