import React, { useContext, useEffect } from "react"; import { Button, PageHeader, Card, Row, Col, message, Table } from "antd"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { DropboxOutlined, DollarCircleOutlined, BarChartOutlined, } from "@ant-design/icons"; import { ModalLoaderContext } from "../../utils/modal"; export const Home = observer(() => { const modalLoader = useContext(ModalLoaderContext); const store = useStore(); useEffect(() => { const init = async () => { try { modalLoader.setLoading(true); const isAdmin = store.authentication.userData.role === "Admin"; await getData(); await store.membership.getDataBySuperior(); await store.partner.getData(); await store.transaction.getDataTransaction(); await store.role.getData(isAdmin); modalLoader.setLoading(false); } catch (e) { console.error(e); modalLoader.setLoading(false); if (e.response?.body?.message) { message.error(e.response.body.message); return; } message.error(e.message); } }; init(); }, []); const getData = async () => { store.authentication.userData.role === "Admin" ? await store.membership.getData() : await store.membership.getDataBySuperior(); }; const columns = [ { title: "Name", dataIndex: "name", key: "name", render: (text, record) => record?.name ?? record?.username, }, { title: "Role", dataIndex: "roleName", key: "role", }, { title: "Saldo", dataIndex: ["coa", "amount"], key: ["coa", "amount"], width: "20%", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, // { // title: "Action", // key: "action", // render: (text, record) => ( // // // // // ), // }, ]; return (
{store.ui.mediaQuery.isDesktop && ( Total Transaksi}>

{store.transaction.dataTransaction} Transaksi

Total Keuntungan B2B}> {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(store.authentication.profileData?.wallet || 0)} Total Keuntungan B2C}> {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(store.authentication.profileData?.wallet || 0)}
)} {store.authentication.userData.role === "Admin" && store.ui.mediaQuery.isDesktop && ( { let pageNumber = page.current; store.membership.pageSize = page.pageSize; store.membership.page = pageNumber - 1; modalLoader.setLoading(true); await getData(); modalLoader.setLoading(false); }} />
{ let pageNumber = page.current; store.membership.pageSize = page.pageSize; store.membership.page = pageNumber - 1; modalLoader.setLoading(true); await getData(); modalLoader.setLoading(false); }} /> )} {store.ui.mediaQuery.isMobile && (
Total Transaksi}>

{store.transaction.dataTransaction} Transaksi

Total Keuntungan B2B}> {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(store.authentication.profileData?.wallet || 0)} Total Keuntungan B2C}> {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(store.authentication.profileData?.wallet || 0)}
)} {store.authentication.userData.role === "Admin" && store.ui.mediaQuery.isMobile && (
{ let pageNumber = page.current; store.membership.pageSize = page.pageSize; store.membership.page = pageNumber - 1; modalLoader.setLoading(true); await getData(); modalLoader.setLoading(false); }} />
{ let pageNumber = page.current; store.membership.pageSize = page.pageSize; store.membership.page = pageNumber - 1; modalLoader.setLoading(true); await getData(); modalLoader.setLoading(false); }} /> )} ); });