Page body
What this surface shows
This pack covers the shared transaction detail helpers opened from several transaction grids when the row exposes additional payload data.
It currently includes:
- the generic
More Infomodal fed bymoreDetails - the withdrawal-only
Postponedprovider-request modal fed bypostponedResumeParams
Both modals are read-only inspection surfaces. They do not fetch a separate detail route. They format payload objects already loaded into the parent row and inherit their backend semantics from the parent list query that produced that row.
How to read it
The generic More Info modal groups keys into operator-friendly blocks:
- primary identifiers
- currency and amount fields
- date and time fields
- all remaining provider payload fields
It also derives a visual transaction label such as Deposit, Withdrawal, or Bet from the payload when possible, plus a frontend-only status chip.
The withdrawal-only Postponed modal adds:
- a fixed
Postponedheader chip - a postponement-reason card
- an optional expected-resolution card
- the same shared key-value renderer for the raw provider payload
When to use it
Use these modals when the grid row itself is too compact and the operator needs raw provider or transaction metadata without leaving the current list page.
Known caveats
- The generic
More Infomodal depends entirely onselectedTransaction.moreDetails; it does not run its own fetch. - The postponed modal depends entirely on
selectedTransactionAdditional.postponedResumeParams; it also does not run its own fetch. - Banking, withdrawals, and failed-deposit pages all reuse the generic modal, but they feed it from different parent list services. Treat it as a shared payload viewer, not as a standalone source of truth with one guaranteed schema.
- The postponed modal is withdrawal-only. Banking and failed-deposit rows do not mount it.
- Payload shape differs by source system, so field inventory is not guaranteed to be identical across rows.
- Both modals open only when the parent row exposes the required payload object. A row with no
moreDetailsor nopostponedResumeParamsdoes not show the corresponding action button. - The header chips, transaction-type labels, status labels, and field grouping are frontend-only presentation logic.
- When either modal opens before its payload is ready, the component shows a skeleton placeholder rather than a dedicated backend-driven loading contract.
Verification status
- status:
verified_fe_only - last verified:
2026-04-18 - note: shared modal behavior, grouping logic, payload gating, and parent list-service ownership are traced. It remains
verified_fe_onlybecause the modal layer is still a reused FE payload viewer rather than a dedicated backend detail contract.