import { Button } from '@/components/ui/button';

interface PresetAmountButtonsProps {
    amounts: number[];
    maxAmount?: number;
    onSelect: (amount: number) => void;
    showMax?: boolean;
}

export const PresetAmountButtons: React.FC<PresetAmountButtonsProps> = ({
    amounts,
    maxAmount,
    onSelect,
    showMax = true,
}) => {
    return (
        <div className="flex flex-wrap gap-2">
            {amounts.map((amount) => (
                <Button
                    key={amount}
                    type="button"
                    variant="outline"
                    size="sm"
                    disabled={maxAmount !== undefined && amount > maxAmount}
                    onClick={() => onSelect(amount)}
                >
                    {amount.toLocaleString()}
                </Button>
            ))}
            {showMax && maxAmount !== undefined && (
                <Button
                    type="button"
                    variant="outline"
                    size="sm"
                    disabled={maxAmount <= 0}
                    onClick={() => onSelect(maxAmount)}
                >
                    MAX
                </Button>
            )}
        </div>
    );
};
