import { Button, Form, InputNumber } from "antd"; import { ProBottomSheet } from "components/ProBottomSheet/ProBottomSheet.tsx"; import { useState, useEffect } from "react"; import { useTranslation } from "react-i18next"; import { selectCart, selectGrandTotal, updateSplitBillAmount, } from "features/order/orderSlice"; import { useAppDispatch, useAppSelector } from "redux/hooks"; import ProInputCard from "components/ProInputCard/ProInputCard"; interface SplitBillChoiceBottomSheetProps { isOpen: boolean; onClose: () => void; onSave?: (value: string) => void; onRemoveSplitWay?: () => void; } export function CustomAmountChoiceBottomSheet({ isOpen, onClose, onRemoveSplitWay, }: SplitBillChoiceBottomSheetProps) { const { t } = useTranslation(); const dispatch = useAppDispatch(); const { splitBillAmount } = useAppSelector(selectCart); const grandTotal = useAppSelector(selectGrandTotal); const [amount, setAmount] = useState( splitBillAmount > 0 ? splitBillAmount.toString() : "", ); useEffect(() => { if (isOpen && splitBillAmount > 0) { setAmount(splitBillAmount.toString()); } }, [isOpen, splitBillAmount]); const handleSave = () => { const numAmount = parseFloat(amount) || 0; dispatch(updateSplitBillAmount(numAmount)); onClose(); }; const handleRemoveSplitWay = () => { setAmount(""); dispatch(updateSplitBillAmount(0)); onRemoveSplitWay?.(); onClose(); }; return (
setAmount(value?.toString() || "")} placeholder={t("splitBill.amount")} max={grandTotal.toString()} min={"0"} style={{ width: "100%", fontSize:"1rem" }} />
); }