StealThis .dev

Banking — Amount Keypad

A trust-first currency amount entry screen for fintech send-money and top-up flows. A large tabular-figure display formats digits live with thousands separators, a tappable currency pill cycles EUR, USD and GBP, and a backspace key trims one character at a time. Quick-amount chips, a Send-max shortcut, and a live balance hint speed real input, while invalid taps shake the display and over-balance amounts disable the call to action. Built with on-screen and physical keyboard support, vanilla JS only.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Amount Keypad

A focused send-money screen built around a single task: entering an amount with confidence. The hero display renders the figure in heavy tabular numerals so digits never shift width, grouping thousands as you type and floating a smaller cents span once you tap the decimal. A pill at the left cycles the currency symbol across EUR, USD and GBP, and a verified recipient header with a 2FA secure cue sets the trust-first tone.

The on-screen keypad mirrors a real banking app: phone-style letter sublabels, an alternate decimal and backspace row, and pressed-state feedback on every tap. Quick-amount chips (€25–€500) fill the field in one tap and highlight when they match, while a Send-max shortcut drops in the full balance. The keypad enforces sane limits — one decimal point, two cents digits, no runaway integers — and any rejected tap triggers a short shake on the display.

Validation is woven into the call to action rather than bolted on. The balance hint turns red and the Send button disables when the amount exceeds available funds, and reads the formatted total back when valid. Everything is keyboard-usable: number keys, comma or period, Backspace and Enter all drive the same logic with matching visual feedback, a toast() helper confirms each action, and the layout collapses to a full-height mobile sheet down to 360px.

Illustrative UI only — not real banking software or financial advice.