import React, {useContext, useEffect} from "react"; import {useStore} from "../../utils/useStore"; import {Button, Card, Col, Input, message, Modal, Row, Select} from "antd"; import {observer} from "mobx-react-lite"; import {MoneyCollectOutlined} from "@ant-design/icons"; import {ModalLoaderContext} from "../../utils/modal"; const {Search} = Input; const {Option} = Select; export const Product = observer(() => { const store = useStore(); const modalLoader = useContext(ModalLoaderContext); useEffect(() => { const init = async () => { try { modalLoader.setLoading(true); await Promise.allSettled([ store.transaction.getDataSubCategories(), store.transaction.getDataCategories() ]) modalLoader.setLoading(false); } catch (e) { modalLoader.setLoading(false); if (e.response?.body?.message) { message.error(e.response.body.message); return; } message.error(e.message); } }; init(); }, []); const handleChangeSubcategory = async (item) => { store.transaction.filterSubCategory = item; modalLoader.setLoading(true); await store.transaction.getData(); modalLoader.setLoading(false); }; const handleBuyProduct = async (data) => { modalLoader.setLoading(true); try { const response = await store.transaction.buyProduct({productCode: data}); if (response.status === 201) { message.success("Success Buy Product"); } else { message.error("Failed Buy Product", 3); } } catch (e) { if (e.response?.body?.message) { message.error(e.response.body.message); return; } console.log(e, "apa errornya"); message.error("Failed Buy Product"); } modalLoader.setLoading(false); }; return (
Sub Category Produk & Nominal {store.transaction.data.length != 0 && ( {store.transaction.data.map((item, index) => ( { Modal.confirm({ title: `Are you sure buy ${item.name}?`, icon: , okText: "Confirm", cancelText: "Cancel", okType: "primary", onOk() { handleBuyProduct(item.code) }, onCancel() { console.log("Cancel"); }, }); }} style={{cursor: "pointer"}} > {item.name}
{new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format(item?.currentPrice?.mark_up_price)}
))}
)} {store.transaction.data.length !== 0 && ( )}
); });