import type { MetaFunction } from "@remix-run/node"; import { Plus } from "lucide-react"; import { useState } from "react"; import ProfilePagesHeader from "../components/ProfilePagesHeader"; import { useServiceGetWallet, useServiceCreatePayoutRequest, } from "../utils/RequestHandler"; import { Button } from "../components/ui/button"; import { Dialog, DialogContent, DialogOverlay } from "../components/ui/dialog"; import AppInput from "../components/AppInput"; import { useToast } from "../hooks/use-toast"; import { getPersianTextOfPrice } from "~/utils/helpers"; import UiProvider from "~/components/UiProvider"; export const meta: MetaFunction = () => { return [ { title: "کیف پول - ویترون" }, { name: "description", content: "مدیریت کیف پول و موجودی حساب کاربری شما در ویترون. افزایش موجودی، پیگیری تراکنش‌ها و مدیریت امور مالی.", }, { name: "keywords", content: "کیف پول، موجودی، افزایش موجودی، تراکنش، پرداخت، ویترون، پروفایل کاربری", }, { name: "robots", content: "noindex, follow" }, { property: "og:title", content: "کیف پول - ویترون" }, { property: "og:description", content: "مدیریت کیف پول و موجودی حساب کاربری شما در ویترون. افزایش موجودی، پیگیری تراکنش‌ها و مدیریت امور مالی.", }, { property: "og:type", content: "website" }, { name: "twitter:card", content: "summary" }, { name: "twitter:title", content: "کیف پول - ویترون" }, { name: "twitter:description", content: "مدیریت کیف پول و موجودی حساب کاربری شما در ویترون. افزایش موجودی، پیگیری تراکنش‌ها و مدیریت امور مالی.", }, ]; }; export default function Locaton() { const [isOpen, setIsOpen] = useState(false); const [amount, setAmount] = useState(""); return (

کیف پول

setIsOpen(false)} amount={amount} setAmount={setAmount} />
); } const AddFundsDialog = ({ isOpen, onClose, amount, setAmount, }: { isOpen: boolean; onClose: () => void; amount: string; setAmount: (value: string) => void; }) => { const { toast } = useToast(); const createPayoutRequest = useServiceCreatePayoutRequest(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); try { const response = await createPayoutRequest.mutateAsync({ amount, transaction_type: "deposit", }); if (response?.paymentUrl) { window.location.href = response.paymentUrl; } else { toast({ title: "خطا در پرداخت", description: "لینک پرداخت دریافت نشد. لطفا دوباره تلاش کنید.", variant: "destructive", }); } } catch (error) { toast({ title: "خطا در ثبت درخواست", description: "متاسفانه مشکلی در ثبت درخواست پیش آمده است. لطفا دوباره تلاش کنید.", variant: "destructive", }); } }; return (

افزایش موجودی

) => setAmount(e.target.value) } type="number" inputDir={amount ? "ltr" : "rtl"} />

{getPersianTextOfPrice(amount)}

); }; const MainContent = () => { const { data: walletData, isFetching: isFetchingWallet, isError, refetch, } = useServiceGetWallet(); const formatBalance = (balance: string) => { return new Intl.NumberFormat("fa-IR").format(parseInt(balance)); }; return (

موجودی شما (تومان):

{walletData ? formatBalance(walletData.balance || "") : "۰"}

با افزایش موجودی کیف پول، از امکان خرید قسطی استفاده کن!

); };