Summary
The POS Keypad is the most critical interactive element of the app. The current implementation is rudimentary: it only supports whole numbers, which completely breaks support for standard fiat currencies (like USD or EUR). Additionally, the touch targets are too small for rapid use on smaller mobile screens, leading to mis-taps.
We must completely refactor the Keypad component. It needs a decimal button with state logic to prevent multiple decimal points, formatting the output to exactly two decimal places. The CSS grid layout must be reworked using responsive viewport units to guarantee massive, ergonomic touch targets on any screen size, complete with high-contrast active states.
Acceptance Criteria
Tech Stack
Next.js 14, React, Tailwind CSS.
Summary
The POS Keypad is the most critical interactive element of the app. The current implementation is rudimentary: it only supports whole numbers, which completely breaks support for standard fiat currencies (like USD or EUR). Additionally, the touch targets are too small for rapid use on smaller mobile screens, leading to mis-taps.
We must completely refactor the Keypad component. It needs a decimal button with state logic to prevent multiple decimal points, formatting the output to exactly two decimal places. The CSS grid layout must be reworked using responsive viewport units to guarantee massive, ergonomic touch targets on any screen size, complete with high-contrast active states.
Acceptance Criteria
.button with strict input validation.min-h-[80px]).Tech Stack
Next.js 14, React, Tailwind CSS.