🐛 fix: Update quantity handling in Purchase and Renewal components based on showOriginalPrice prop
This commit is contained in:
parent
cc52e3614d
commit
a2746073a6
@ -15,6 +15,7 @@ interface DurationSelectorProps {
|
|||||||
unitTime?: string;
|
unitTime?: string;
|
||||||
discounts?: Array<{ quantity: number; discount: number }>;
|
discounts?: Array<{ quantity: number; discount: number }>;
|
||||||
onChange: (value: number) => void;
|
onChange: (value: number) => void;
|
||||||
|
showOriginalPrice?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DurationSelector: React.FC<DurationSelectorProps> = ({
|
const DurationSelector: React.FC<DurationSelectorProps> = ({
|
||||||
@ -22,6 +23,7 @@ const DurationSelector: React.FC<DurationSelectorProps> = ({
|
|||||||
unitTime = "Month",
|
unitTime = "Month",
|
||||||
discounts = [],
|
discounts = [],
|
||||||
onChange,
|
onChange,
|
||||||
|
showOriginalPrice = true,
|
||||||
}) => {
|
}) => {
|
||||||
const { t } = useTranslation("subscribe");
|
const { t } = useTranslation("subscribe");
|
||||||
const handleChange = useCallback(
|
const handleChange = useCallback(
|
||||||
@ -61,7 +63,7 @@ const DurationSelector: React.FC<DurationSelectorProps> = ({
|
|||||||
onValueChange={handleChange}
|
onValueChange={handleChange}
|
||||||
value={String(quantity)}
|
value={String(quantity)}
|
||||||
>
|
>
|
||||||
{unitTime !== "Minute" && (
|
{showOriginalPrice && unitTime !== "Minute" && (
|
||||||
<DurationOption label={`1 / ${t(unitTime)}`} value="1" />
|
<DurationOption label={`1 / ${t(unitTime)}`} value="1" />
|
||||||
)}
|
)}
|
||||||
{discounts?.map((item) => (
|
{discounts?.map((item) => (
|
||||||
|
|||||||
@ -74,9 +74,13 @@ export default function Purchase({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (subscribe) {
|
if (subscribe) {
|
||||||
|
const defaultQuantity =
|
||||||
|
subscribe.show_original_price === false && subscribe.discount?.[0]
|
||||||
|
? subscribe.discount[0].quantity
|
||||||
|
: 1;
|
||||||
setParams((prev) => ({
|
setParams((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
quantity: 1,
|
quantity: defaultQuantity,
|
||||||
subscribe_id: subscribe?.id,
|
subscribe_id: subscribe?.id,
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@ -146,6 +150,7 @@ export default function Purchase({
|
|||||||
handleChange("quantity", value);
|
handleChange("quantity", value);
|
||||||
}}
|
}}
|
||||||
quantity={params.quantity as number}
|
quantity={params.quantity as number}
|
||||||
|
showOriginalPrice={subscribe?.show_original_price}
|
||||||
unitTime={subscribe?.unit_time}
|
unitTime={subscribe?.unit_time}
|
||||||
/>
|
/>
|
||||||
<CouponInput
|
<CouponInput
|
||||||
|
|||||||
@ -72,9 +72,13 @@ export default function Renewal({ id, subscribe }: Readonly<RenewalProps>) {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (subscribe.id && id) {
|
if (subscribe.id && id) {
|
||||||
|
const defaultQuantity =
|
||||||
|
subscribe.show_original_price === false && subscribe.discount?.[0]
|
||||||
|
? subscribe.discount[0].quantity
|
||||||
|
: 1;
|
||||||
setParams((prev) => ({
|
setParams((prev) => ({
|
||||||
...prev,
|
...prev,
|
||||||
quantity: 1,
|
quantity: defaultQuantity,
|
||||||
subscribe_id: subscribe.id,
|
subscribe_id: subscribe.id,
|
||||||
user_subscribe_id: id,
|
user_subscribe_id: id,
|
||||||
}));
|
}));
|
||||||
@ -145,6 +149,7 @@ export default function Renewal({ id, subscribe }: Readonly<RenewalProps>) {
|
|||||||
handleChange("quantity", value);
|
handleChange("quantity", value);
|
||||||
}}
|
}}
|
||||||
quantity={params.quantity!}
|
quantity={params.quantity!}
|
||||||
|
showOriginalPrice={subscribe?.show_original_price}
|
||||||
unitTime={subscribe?.unit_time}
|
unitTime={subscribe?.unit_time}
|
||||||
/>
|
/>
|
||||||
<CouponInput
|
<CouponInput
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user