Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

10 — Interaction Specification (Payments)

Interaction detail for the payments module. Base gestures from 00-shared/08.


Tap

  • Row tap → detail push (m-base). FAB tap → new payment. Action buttons tap → submit/confirm.
  • Copy reference → clipboard + snackbar "Copied".

Long press

  • Payments row → context menu (View, Receipt, Refund, Reconcile).
  • Receipt summary → copy menu.

Double tap

  • Not used (amounts/cards are static; enabling double-tap has no value).

Swipe

  • Right-swipe on COMPLETED row: quick "New receipt view"; swipe on PENDING row: "Reconcile" (proposed).
  • No destructive left-swipe (refund is deliberate, not a swipe).

Pull-to-refresh

  • Payments list, Receipts list, Payment detail — re-fetch {data,total} / payment / receipt; primary spinner.

Scroll & infinite scroll

  • Payments list is paged (Load more footer). No auto infinite scroll.
  • FAB hides on scroll-down, reappears scroll-up.

Back / hardware back / ESC

  • Detail → list; form → previous; sheets/dialogs: back/ESC = cancel (no discard warning on sheets).
  • On root payments tab: Android back → previous shell branch.

Hover / mouse / desktop

  • Row hover tint surfaceContainerHigh; destructive action hover errorContainer.
  • Right-click = context menu (same as long-press).
  • Focus ring primary on all interactive; Enter activates focused control.

Gamepad

  • Not relevant (mobile/desktop ERP client).

Haptics

  • Success record → lightImpact; refund confirmed → heavyImpact; error → mediumImpact.

Motion

  • Success transition: sheet→inline success with m-entrance slide; receipt card AnimatedSwitcher 150 ms.
  • Money updates: AnimatedDefaultTextStyle or AnimatedSwitcher (fast, 150 ms).