"use client"; import { Button } from "@/components/ui/button"; import { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerTitle, DrawerTrigger, } from "@/components/ui/drawer"; import { WalletDrawerOpenAtom, walletTopUpValue, } from "@/lib/atoms"; import { authClient } from "@/lib/auth-client"; import type { TopupType } from "@/lib/types"; import { useAtom, } from "jotai"; import { CircleDollarSign, Loader2, Wallet2, } from "lucide-react"; import { usePathname, } from "next/navigation"; import { useState } from "react"; import NumberInput from "./number-input"; export function Wallet({ walletBalance, }: { walletBalance: number; }) { const session = authClient.useSession(); const pathname = usePathname(); const [amount, setAmount] = useAtom(walletTopUpValue); const [isOpen, setIsOpen] = useAtom(WalletDrawerOpenAtom); const [disabled, setDisabled] = useState(false); // const router = useRouter(); if (pathname === "/payment") { return null; } const data: TopupType = { userId: session?.data?.user.id ?? "", amount: Number.parseFloat(amount.toFixed(2)), paid: false, }; return (
Wallet
Your wallet balance is{" "} {new Intl.NumberFormat('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(walletBalance)} {" "}
setAmount(value)} maxAllowed={5000} isDisabled={amount === 0} />
); }