Skip to content

ADR-0045: Adaptive amount and currency fields

  • Status: Accepted
  • Date: 2026-10-15

Context

The transaction editor's fixed 132 dp currency field wrapped its label into the input at 200% text. A fixed row also left little room for amount entry on narrow screens.

Decision

Measure the expanded labels, supported currency codes and a seven-digit amount with two decimals using the current typography and font scale. Reserve field padding and dropdown space. Use a row only when both minimum widths fit; otherwise place two full-width fields vertically with an 8 dp gap. Use one composition and change only measurement and placement, preserving input focus and dropdown state across width changes. The ViewModel continues to own draft values and currency selection for all editor modes.

Consequences

Large text and narrow screens use more vertical space. Long amounts remain single-line editable inputs and can scroll horizontally. Currency options, validation and minor-unit parsing keep their existing behavior.

Verification

TransactionDetailScreenTest checks text overflow and field/label separation at 320/411 dp viewport equivalents and 100/150/200% text in light/dark themes, plus draft continuity and currency selection after reflow in existing, manual and unmatched editors. Device screenshots supplement these checks.