import AppInput from "../AppInput"; import discountRed from "../../assets/icons/product/discount-red.svg"; import tomanBlack from "../../assets/icons/product/tomanBlack.svg"; import tomanGray from "../../assets/icons/product/tomanGray.svg"; import { RadioGroup, RadioGroupItem } from "../ui/radio-group"; import { useState, useEffect } from "react"; import { formatPrice, getPersianTextOfPrice } from "../../utils/helpers"; import { useRootData } from "~/hooks/use-root-data"; import { Percent } from "lucide-react"; interface PricingFormProps { productPrice: string; finalPrice: string; onPriceChange: (e: React.ChangeEvent) => void; onFinalPriceChange: (finalPrice: string) => void; } export const PricingForm: React.FC = ({ productPrice, onPriceChange, finalPrice, onFinalPriceChange, }: PricingFormProps) => { const { theme } = useRootData(); const [hasDiscount, setHasDiscount] = useState(""); const [discountPercent, setDiscountPercent] = useState(""); const [discountAmount, setDiscountAmount] = useState(""); useEffect(() => { if (!productPrice || !hasDiscount) { onFinalPriceChange(productPrice || ""); return; } let finalPrice = parseInt(productPrice); if (discountPercent) { finalPrice = finalPrice * (1 - parseInt(discountPercent) / 100); } else if (discountAmount) { finalPrice = finalPrice - parseInt(discountAmount); } if (finalPrice < 0) { finalPrice = 0; } else if (finalPrice > 1000000000) { finalPrice = 1000000000; } onFinalPriceChange(finalPrice.toFixed(0).toString()); }, [ productPrice, hasDiscount, discountPercent, discountAmount, onFinalPriceChange, ]); // وقتی discount percent تغییر کرد، discount amount را خالی کن const handleDiscountPercentChange = ( e: React.ChangeEvent ) => { setDiscountPercent(e.target.value); setDiscountAmount(""); }; // وقتی discount amount تغییر کرد، discount percent را خالی کن const handleDiscountAmountChange = ( e: React.ChangeEvent ) => { setDiscountAmount(e.target.value); setDiscountPercent(""); }; return (
{/* قیمت اصلی */}
{/* Radio buttons for جدید/ندارد */}
discount تخفیف:
{ setHasDiscount(value); if (!value) { setDiscountPercent(""); setDiscountAmount(""); } }} value={hasDiscount} className="flex gap-4 px-4" dir="rtl" >

مقدار تخفیف:{" "}

{/*
This is an dummy text for testing code rabbit
*/}

یا

{/* قیمت بعد از تخفیف */}
{}} inputDir="ltr" />
{finalPrice && (
{getPersianTextOfPrice(finalPrice)}
)}
{/* تخفیف section */}
); };