diff --git a/src/component/BuyProductModal.js b/src/component/BuyProductModal.js deleted file mode 100644 index 086bb97..0000000 --- a/src/component/BuyProductModal.js +++ /dev/null @@ -1,66 +0,0 @@ -import React from "react"; -import {Form, Input, message, Modal} from "antd"; -import {observer} from "mobx-react-lite"; -import {useStore} from "../utils/useStore"; - -export const BuyProductModal = observer(({initialData}) => { - const store = useStore(); - const [form] = Form.useForm(); - - const handleCancelBuyProduct = () => { - form.resetFields(); - store.transaction.visibleModalTransaction = false; - }; - - const handleSubmitBuyProduct = async (data) => { - try { - const response = await store.transaction.buyProduct({productCode: data}); - if (response.status === 200) { - message.success("Success Buy Product"); - } else { - message.error("Failed Buy Product"); - } - } catch (e) { - console.log(e, "apa errornya"); - message.error("Failed Buy Product"); - } - store.transaction.visibleModalTransaction = false; - form.resetFields(); - }; - - return ( -
- { - form - .validateFields() - .then((values) => { - handleSubmitBuyProduct(values); - }) - .catch((info) => { - console.error("Validate Failed:", info); - }); - }} - > -
- - - -
-
-
- ); -}); diff --git a/src/config/app.js b/src/config/app.js index e4b7ca0..ffdd851 100644 --- a/src/config/app.js +++ b/src/config/app.js @@ -1,5 +1,6 @@ export const appConfig = { apiUrl: 'https://ppob-backend.k3s.bangun-kreatif.com/v1' + // apiUrl: 'http://localhost:3222/v1' }; //export default appConfig; diff --git a/src/pages/Transaction/Product.js b/src/pages/Transaction/Product.js index 39fe5ad..7e7884d 100644 --- a/src/pages/Transaction/Product.js +++ b/src/pages/Transaction/Product.js @@ -1,147 +1,147 @@ -import React, { useEffect, useState } from "react"; -import { useStore } from "../../utils/useStore"; -import { Button, Card, Col, Input, Row, Select, message } from "antd"; -import { observer } from "mobx-react-lite"; -import { BuyProductModal } from "../../component/BuyProductModal"; +import React, {useEffect, useState} 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"; -const { Search } = Input; -const { Option } = Select; +const {Search} = Input; +const {Option} = Select; export const Product = observer(() => { const store = useStore(); const [isLoading, setIsLoading] = useState(false); const [productData, setProductData] = useState([]); - const [data, setData] = useState({}); - const [kode, setKode] = useState({}); - const [cardIndex, setCardIndex] = useState({}); useEffect(() => { const init = async () => { try { - setIsLoading(true); - await store.transaction.getDataSubCategories(); - await store.transaction.getDataCategories(); - setIsLoading(false); + setIsLoading(true); + await store.transaction.getDataSubCategories(); + await store.transaction.getDataCategories(); + setIsLoading(false); } catch (e) { - setIsLoading(false); + setIsLoading(false); } }; - init(); + init(); }, []); - // data - useEffect(() => { - console.log("⚡ transaction data store", store.transaction.data); - setProductData(store.transaction.data); - }, [store.transaction.data]); + // data + useEffect(() => { + console.log("⚡ transaction data store", store.transaction.data); + setProductData(store.transaction.data); + }, [store.transaction.data]); - // Subcategory - useEffect(() => { - console.log( - "⚡ transaction subcategory store", - store.transaction.dataSubCategories - ); - }, [store.transaction.dataSubCategories]); + // Subcategory + useEffect(() => { + console.log( + "⚡ transaction subcategory store", + store.transaction.dataSubCategories + ); + }, [store.transaction.dataSubCategories]); - const handleChangeSubcategory = async (item) => { - console.log("item", item); - store.transaction.filterSubCategory = item; - await store.transaction.getData(); - }; + const handleChangeSubcategory = async (item) => { + store.transaction.filterSubCategory = item; + await store.transaction.getData(); + }; - const handleBuyProduct = async (kode) => { - console.log(kode); - try { - await store.product.buyProduct({ productCode: kode }); - message.success("Success Buy Product"); - } catch (e) { - message.error("Failed Buy Product"); - } - }; + const handleBuyProduct = async (data) => { + try { + const response = await store.transaction.buyProduct({productCode: data}); + if (response.status === 200) { + message.success("Success Buy Product"); + } else { + message.error("Failed Buy Product"); + } + } catch (e) { + console.log(e, "apa errornya"); + message.error("Failed Buy Product"); + } + }; - return ( -
- - - Sub Category - - - - - - - - - - Produk & Nominal - - - - - - {productData.length != 0 && ( - - {productData.map((item, index) => ( - - { - setKode(item.code); - setCardIndex(index); - }} - hoverable - style={{ - cursor: "pointer", - borderColor: cardIndex === index ? "#2D9CDB" : "", - marginLeft: "10px", - }} - > - {item.name} -
- + return ( +
+ + Sub Category + + + + + + + + + Produk & Nominal + + + + + + {productData.length != 0 && ( + + {productData.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", + style: "currency", + currency: "IDR", }).format(item?.currentPrice?.mark_up_price)} -
- - ))} + + + ))}
)} {productData.length !== 0 && ( - )} -
); });