From 76a4e3d66eda95cd6be6fc70de58dd6c432a6445 Mon Sep 17 00:00:00 2001 From: i701 Date: Sun, 27 Jul 2025 15:22:15 +0500 Subject: [PATCH] =?UTF-8?q?fix(devices):=20fix=20payment=20amount=20genera?= =?UTF-8?q?tion=20by=20passing=20actual=20values=20=F0=9F=90=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/devices-for-payment.tsx | 35 +++++++----------------------- lib/backend-types.ts | 1 - queries/devices.ts | 3 +-- 3 files changed, 9 insertions(+), 30 deletions(-) diff --git a/components/devices-for-payment.tsx b/components/devices-for-payment.tsx index 0bc0c82..bd730f4 100644 --- a/components/devices-for-payment.tsx +++ b/components/devices-for-payment.tsx @@ -1,5 +1,10 @@ "use client"; +import { useAtom, useAtomValue, useSetAtom } from "jotai"; +import { CircleDollarSign, Loader2 } from "lucide-react"; +import { redirect, usePathname } from "next/navigation"; +import { useState } from "react"; +import { toast } from "sonner"; import { createPayment } from "@/actions/payment"; import DeviceCard from "@/components/device-card"; import NumberInput from "@/components/number-input"; @@ -7,41 +12,21 @@ import { Button } from "@/components/ui/button"; import { deviceCartAtom, numberOfMonths } from "@/lib/atoms"; import type { NewPayment } from "@/lib/backend-types"; import { tryCatch } from "@/utils/tryCatch"; -import { useAtom, useAtomValue, useSetAtom } from "jotai"; -import { CircleDollarSign, Loader2 } from "lucide-react"; -import { redirect, usePathname } from "next/navigation"; -import { useEffect, useState } from "react"; -import { toast } from "sonner"; import FullPageLoader from "./full-page-loader"; export default function DevicesForPayment() { - const baseAmount = 100; - const discountPercentage = 75; const pathname = usePathname(); const devices = useAtomValue(deviceCartAtom); const setDeviceCart = useSetAtom(deviceCartAtom); const [months, setMonths] = useAtom(numberOfMonths); - const [message, setMessage] = useState(""); const [disabled, setDisabled] = useState(false); - const [total, setTotal] = useState(0); - console.log(total); - useEffect(() => { - if (months === 7) { - setMessage("You will get 1 month free."); - } else if (months === 12) { - setMessage("You will get 2 months free."); - } else { - setMessage(""); - } - setTotal(baseAmount + (devices.length + 1 - 1) * discountPercentage); - }, [months, devices.length]); + if (pathname === "/payments") { return null; } const data: NewPayment = { - amount: 100, - number_of_months: 2, + number_of_months: months, device_ids: devices.map((device) => device.id), }; @@ -63,11 +48,7 @@ export default function DevicesForPayment() { maxAllowed={12} isDisabled={devices.length === 0} /> - {message && ( - - {message} - - )} +