import React, { useContext, useEffect } from "react"; import { Card, Col, Row, Table, Typography, Tag, List, Button, Divider, } from "antd"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { LINKS } from "../../routes/app"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { format, parseISO } from "date-fns"; import { ModalLoaderContext } from "../../utils/modal"; import { useParams } from "react-router-dom"; const { Title, Text } = Typography; export const ProductDetail = observer(() => { const store = useStore(); const { id } = useParams(); const modalLoader = useContext(ModalLoaderContext); const routeData = [ { route: LINKS.HOME, name: "Beranda", }, { route: LINKS.PRODUCT, name: Produk, }, { route: LINKS.PRODUCT_DETAIL.replace(":id", `${id}`), name: Detail Produk, }, ]; useEffect(() => { (async () => { modalLoader.setLoading(true); await Promise.allSettled([ store.product.getPriceHistoryByProduct(id), store.product.getDetailProduct(id), ]); modalLoader.setLoading(false); })(); }, []); const columns = [ { title: "Markup Price", dataIndex: "mark_up_price", key: "mark_up_price", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, { title: "Price", dataIndex: "price", key: "price", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, { title: "Biaya Admin", dataIndex: "admin_price", key: "admin_price", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, { title: "Partner fee", dataIndex: "partner_fee", key: "partner_fee", render: (text) => new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(text), }, { title: "Tanggal Berlaku", dataIndex: "startDate", key: "startDate", render: (text) => { return ( {text ? format(parseISO(text), "dd MMMM yyyy") : "-"} ); }, }, { title: "Tanggal Berakhir", dataIndex: "endDate", key: "endDate", render: (text) => { return ( {text ? format(parseISO(text), "dd MMMM yyyy") : "Sampai Sekarang"} ); }, }, ]; const styleSaldoTitle = store.ui.mediaQuery.isDesktop ? { display: "flex", justifyContent: "center", } : { fontSize: "0.75rem" }; const styleSaldoContent = store.ui.mediaQuery.isDesktop ? { fontSize: "1.25rem", display: "flex", justifyContent: "center", } : null; return (
Product Detail Kode {store.product?.dataDetailProduct?.code} Nama Produk {store.product?.dataDetailProduct?.name} Supplier {store.product?.dataDetailProduct?.supplier?.name} Status {store.product?.dataDetailProduct?.status}
Product Price History {store.ui.mediaQuery.isDesktop && ( { let pageNumber = page.current; store.product.pageSizePriceHistory = page.pageSize; store.product.pagePriceHistory = pageNumber - 1; modalLoader.setLoading(true); await store.product.getPriceHistoryByProduct(id); modalLoader.setLoading(false); }} /> )} {store.ui.mediaQuery.isMobile && ( { store.product.pageSizePriceHistory = pageSize; store.product.pagePriceHistory = page - 1; modalLoader.setLoading(true); await store.product.getPriceHistoryByProduct(id); modalLoader.setLoading(false); }, pageSize: store.product.pageSizePriceHistory, total: store.product.totalDataPriceHistory, current: store.product.pagePriceHistory + 1, style: { marginBottom: "1rem", marginRight: "1rem" }, }} dataSource={store.product.dataPriceHistory} style={{ padding: 0 }} renderItem={(item) => { return (

Markup Price :{" "} {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(item.mark_up_price)} {" "}
Price:{" "} {new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(item.price)} {" "}
{" "} Tanggal Berlaku : {item.startDate ? format( parseISO(item.startDate), "dd MMMM yyyy" ) : "-"} {" "}
Tanggal Berakhir :{" "} {item.endDate ? format( parseISO(item.endDate), "dd MMMM yyyy" ) : "Sampai Sekarang"} {" "}

} /> {/*

{item?.product_status === "ACTIVE" ? " Tersedia" : "Tidak"}

*/} ); }} /> )}
); });