"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"; 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 FullPageLoader from "./full-page-loader"; export default function DevicesForPayment() { const pathname = usePathname(); const devices = useAtomValue(deviceCartAtom); const setDeviceCart = useSetAtom(deviceCartAtom); const [months, setMonths] = useAtom(numberOfMonths); const [disabled, setDisabled] = useState(false); if (pathname === "/payments") { return null; } const data: NewPayment = { number_of_months: months, device_ids: devices.map((device) => device.id), }; if (disabled) { return ; } return (
{devices.map((device) => ( ))}
setMonths(value)} maxAllowed={12} isDisabled={devices.length === 0} />
); }