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 && (
-
);
});