Spaces:
Running
Running
File size: 1,840 Bytes
1b933f8 | 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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | import React from 'react';
import { Minus, Plus, Check, X } from 'lucide-react';
const QuickNumberPad = ({
onNumberClick,
onClear,
onBackspace,
onEnter,
displayValue,
showClear = true,
showBackspace = true
}) => {
return (
<div className="grid grid-cols-3 gap-2 max-w-[250px] mx-auto">
{[1, 2, 3, 4, 5, 6, 7, 8, 9].map((num) => (
<button
key={num}
onClick={() => onNumberClick(num.toString())}
className="h-12 bg-white border border-pos-border rounded-xl hover:bg-primary-50 hover:border-primary-300 hover:text-primary-600 transition-all font-bold text-lg"
>
{num}
</button>
))}
{showClear && (
<button
onClick={onClear}
className="h-12 bg-danger/10 text-danger border border-danger/20 rounded-xl hover:bg-danger hover:text-white transition-all font-medium"
>
ล้าง
</button>
)}
<button
onClick={() => onNumberClick('0')}
className="h-12 bg-white border border-pos-border rounded-xl hover:bg-primary-50 hover:border-primary-300 hover:text-primary-600 transition-all font-bold text-lg"
>
0
</button>
{showBackspace && (
<button
onClick={onBackspace}
className="h-12 bg-warning/10 text-warning border border-warning/20 rounded-xl hover:bg-warning hover:text-white transition-all"
>
<Minus className="w-5 h-5 mx-auto" />
</button>
)}
<button
onClick={onEnter}
className="h-12 bg-success text-white border border-success rounded-xl hover:bg-success/90 transition-all flex items-center justify-center"
>
<Check className="w-6 h-6" />
</button>
</div>
);
};
export default QuickNumberPad; |