"use client"; import { AccentColor, AdminColor } from "@/app_modules/_global/color/color_pallet"; import { ComponentGlobal_TampilanRupiah } from "@/app_modules/_global/component"; import { apiGetMasterStatusTransaksi } from "@/app_modules/_global/lib/api_fetch_master"; import { globalStatusTransaksi } from "@/app_modules/_global/lib/master_list_app"; import { Admin_ComponentLoadImageLandscape } from "@/app_modules/admin/_admin_global"; import { ComponentAdminGlobal_TitlePage } from "@/app_modules/admin/_admin_global/_component"; import CustomSkeletonAdmin from "@/app_modules/admin/_admin_global/_component/skeleton/customSkeletonAdmin"; import { ComponentAdminGlobal_NotifikasiBerhasil } from "@/app_modules/admin/_admin_global/admin_notifikasi/notifikasi_berhasil"; import { ComponentAdminGlobal_NotifikasiGagal } from "@/app_modules/admin/_admin_global/admin_notifikasi/notifikasi_gagal"; import AdminGlobal_ComponentBackButton from "@/app_modules/admin/_admin_global/back_button"; import adminNotifikasi_funCreateToUser from "@/app_modules/admin/notifikasi/fun/create/fun_create_notif_user"; import TampilanRupiahDonasi from "@/app_modules/donasi/component/tampilan_rupiah"; import { MODEL_DONASI, MODEL_DONASI_PENCAIRAN_DANA } from "@/app_modules/donasi/model/interface"; import { MODEL_NEW_DEFAULT_MASTER } from "@/app_modules/model_global/interface"; import { RouterAdminGlobal } from "@/lib"; import { RouterAdminDonasi } from "@/lib/router_admin/router_admin_donasi"; import { RouterAdminDonasi_OLD } from "@/lib/router_hipmi/router_admin"; import { clientLogger } from "@/util/clientLogger"; import mqtt_client from "@/util/mqtt_client"; import { ActionIcon, Badge, Box, Button, Center, Grid, Group, Modal, Pagination, Paper, ScrollArea, Select, SimpleGrid, Spoiler, Stack, Table, Text, TextInput, Title, } from "@mantine/core"; import { useDisclosure, useShallowEffect } from "@mantine/hooks"; import { IconReload } from "@tabler/icons-react"; import { toNumber } from "lodash"; import moment from "moment"; import { useParams, useRouter } from "next/navigation"; import { useState } from "react"; import adminDonasi_funUpdateStatusDanTotal from "../../fun/update/fun_update_status_dan_total"; import { apiGetAdminAllDaftarDonatur, apiGetAdminDonasiById } from "../../lib/api_fetch_admin_donasi"; import TampilanListDonatur from "./detail_list_donatur"; export default function AdminDonasi_DetailPublish({ countDonatur, listPencairan, }: { countDonatur: number; listPencairan: MODEL_DONASI_PENCAIRAN_DANA[]; }) { const [pencairan, setPencairan] = useState(listPencairan); const [isReload, setReload] = useState(false); const params = useParams<{ id: string }>(); const [data, setData] = useState(null); // useShallowEffect(() => { loadInitialData(); }, [isReload]) const loadInitialData = async () => { try { const response = await apiGetAdminDonasiById({ id: params.id, }) if (response?.success && response?.data) { console.log("data", response.data); setData(response.data) setReload(false) } else { console.log("Invalid data format recieved:", response); setData(null) } } catch (error) { clientLogger.error("Invalid data format recieved:", error); setData(null); } } return ( <> {/*
{JSON.stringify(pencairan, null, 2)}
*/} <> {!data ? () : ( )} {!data ? () : ( { setReload(val) }} donasi={data} isReload={isReload} />)} ); } function TampilanDetailDonasi({ countDonatur, donasi }: { countDonatur: number; donasi: MODEL_DONASI; }) { const [opened, { open, close }] = useDisclosure(false); const router = useRouter(); const [isLoadingPencairanDana, setIsLoadingPencairanDana] = useState(false); return ( <> Gambar Donasi Detail Donasi Judul : {donasi?.title} Penggalang Dana : {donasi?.Author.username} Durasi : {donasi?.DonasiMaster_Durasi.name} hari Dana dibutuhkan : Kategori : {donasi?.DonasiMaster_Ketegori?.name} Total donatur : {countDonatur} Progres : {toNumber(donasi.progres).toFixed(2)} % Dana terkumpul : {/* Pencairan Dana */}
Pencairan Dana
Total Dana Dicairkan Bank Tujuan {donasi?.namaBank} Akumulasi Pencairan {donasi?.akumulasiPencairan} Kali Nomor Rekening {donasi?.rekening} Sisa Dana
); } function PencairanDana() { return ( <> ); } //######################## LIST PENCAIRAN #####################// function TampilanListPencairan({ pencairan, }: { pencairan: MODEL_DONASI_PENCAIRAN_DANA[]; }) { const router = useRouter(); const [data, setData] = useState(pencairan); const [opened, { open, close }] = useDisclosure(false); const [gambarId, setGambarId] = useState(""); const rowTable = data.map((e) => (
{moment(e.createdAt).format("ll")}
{e.title}
{e.deskripsi}
)); return ( <> { // onRelaod(); }} > {/*