"use client"; import { RouterDonasi } from "@/app/lib/router_hipmi/router_donasi"; import { AccentColor } from "@/app_modules/_global/color/color_pallet"; import ComponentGlobal_IsEmptyData from "@/app_modules/_global/component/is_empty_data"; import { AspectRatio, Badge, Box, Grid, Group, Image, Paper, Progress, Stack, Text } from "@mantine/core"; import { useViewportSize } from "@mantine/hooks"; import _ from "lodash"; import moment from "moment"; import { AppRouterInstance } from "next/dist/shared/lib/app-router-context.shared-runtime"; import { useRouter } from "next/navigation"; import { useState } from "react"; import toast from "react-simple-toasts"; import ComponentDonasi_TampilanHitungMundur from "../component/tampilan_hitung_mundur"; import TampilanRupiahDonasi from "../component/tampilan_rupiah"; import { MODEL_DONASI_INVOICE } from "../model/interface"; export default function DonasiSayaDonasi({ listInvoice, }: { listInvoice: MODEL_DONASI_INVOICE[]; }) { const [invoice, setInvoice] = useState(listInvoice); const router = useRouter(); const { height, width } = useViewportSize(); if (_.isEmpty(listInvoice)) return ; return ( <> {invoice.map((e, i) => ( onClick(router, e.donasiMaster_StatusInvoiceId, e.id, e.Donasi.id) } > {e.Donasi.title} Donasi Saya {e.DonasiMaster_StatusInvoice.name} Foto {/* {width > 575 ? "" : } */} ))} ); } function HitungMundur({ durasi, publishTime, }: { durasi: string; publishTime: Date; }) { return ( <> Sisa hari {Number(durasi) - moment(new Date()).diff(new Date(publishTime), "days") <= 0 ? 0 : Number(durasi) - moment(new Date()).diff(new Date(publishTime), "days")} ); } async function onClick( router: AppRouterInstance, status: string, invoiceId: string, donasiId: string ) { if (status === "1") { return router.push(RouterDonasi.detail_donasi_saya + `${invoiceId}`); } else { if (status === "2") { return router.push(RouterDonasi.proses_transaksi + `${invoiceId}`); } else { if (status === "3") { return router.push(RouterDonasi.invoice + `${invoiceId}`); } else { toast("gagal"); } } } }