All files / web/src/components/practice numericKeypadConfig.ts

0% Statements 0/38
0% Branches 0/1
0% Functions 0/1
0% Lines 0/38

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39                                                                             
/**
 * Configuration for NumericKeypad (react-simple-keyboard)
 * Separated to avoid Panda CSS parser warnings for special key patterns
 */

// Special key identifiers for react-simple-keyboard
export const BKSP_KEY = '{bksp}'
export const ENTER_KEY = '{enter}'

/**
 * Portrait layout: single row at bottom
 */
export function getPortraitLayout(showSubmitButton: boolean) {
  return {
    default: showSubmitButton
      ? [`1 2 3 4 5 6 7 8 9 0 ${BKSP_KEY} ${ENTER_KEY}`]
      : [`1 2 3 4 5 6 7 8 9 0 ${BKSP_KEY}`],
  }
}

/**
 * Landscape layout: two columns on right
 */
export function getLandscapeLayout(showSubmitButton: boolean) {
  return {
    default: showSubmitButton
      ? ['1 6', '2 7', '3 8', '4 9', '5 0', `${BKSP_KEY} ${ENTER_KEY}`]
      : ['1 6', '2 7', '3 8', '4 9', '5 0', BKSP_KEY],
  }
}

/**
 * Display mapping for special keys
 */
export const keypadDisplay = {
  [BKSP_KEY]: '⌫',
  [ENTER_KEY]: '✓',
}