diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js
index def501f..c346341 100644
--- a/src/pages/Profile/Profile.js
+++ b/src/pages/Profile/Profile.js
@@ -60,7 +60,7 @@ export const Profile = observer(() => {
key: 'created_at',
render: (text, record) => {
return (
- {format(parseISO(record.created_at), 'mm:HH dd MM YYYY')}
+ {format(parseISO(record.created_at), 'mm:HH dd-MM-yyyy')}
)
},
},
diff --git a/src/pages/Transaction/Product.js b/src/pages/Transaction/Product.js
index dffb907..25e68a9 100644
--- a/src/pages/Transaction/Product.js
+++ b/src/pages/Transaction/Product.js
@@ -1,16 +1,17 @@
-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";
+import React, {useContext, useEffect, useState} from "react";
+import {useStore} from "../../utils/useStore";
+import {Card, Col, Form, Input, message, Modal, Row, Select} from "antd";
+import {observer} from "mobx-react-lite";
+import {ModalLoaderContext} from "../../utils/modal";
-const { Search } = Input;
-const { Option } = Select;
+const {Search} = Input;
+const {Option} = Select;
export const Product = observer(() => {
const store = useStore();
const modalLoader = useContext(ModalLoaderContext);
+ const [form] = Form.useForm();
+ const [visibleModalBuy, setVisibleModalBuy] = useState(false);
useEffect(() => {
const init = async () => {
@@ -41,11 +42,12 @@ export const Product = observer(() => {
modalLoader.setLoading(false);
};
- const handleBuyProduct = async (data) => {
+ const handleBuyProduct = async (data, productCode) => {
modalLoader.setLoading(true);
try {
const response = await store.transaction.buyProduct({
- productCode: data,
+ ...data,
+ productCode: productCode,
});
if (response.status === 201) {
message.success("Berhasil Beli Produk");
@@ -60,38 +62,44 @@ export const Product = observer(() => {
console.log(e, "apa errornya");
message.error("Gagal Beli Product");
}
+ setVisibleModalBuy(false);
modalLoader.setLoading(false);
};
+ const handleCancel = () => {
+ form.resetFields();
+ setVisibleModalBuy(false);
+ };
+
return (
-
-
-
+
+
+
Sub Category
-
-
-
-
+
+
+
+
+
+
+
- {store.transaction.dataSubCategories.map((item, index) => (
-
- ))}
-
-
-
-
-
Produk & Nominal
@@ -107,19 +115,7 @@ export const Product = observer(() => {
{
- Modal.confirm({
- title: `Are you sure buy ${item.product_name}?`,
- icon: ,
- okText: "Confirm",
- cancelText: "Cancel",
- okType: "primary",
- onOk() {
- handleBuyProduct(item.product_code);
- },
- onCancel() {
- console.log("Cancel");
- },
- });
+ setVisibleModalBuy(true)
}}
hoverable
style={{
@@ -130,26 +126,52 @@ export const Product = observer(() => {
marginBottom: 10,
}}
>
- {item.product_name}
-
-
+ {item.product_name}
+
+
{new Intl.NumberFormat("id-ID", {
style: "currency",
currency: "IDR",
}).format(item?.price)}
+
+ {
+ form.resetFields();
+ handleCancel();
+ }}
+ onOk={() => {
+ form
+ .validateFields()
+ .then((values) => {
+ console.log(values, "isi form");
+ handleBuyProduct(values, item.product_code);
+ form.resetFields();
+ })
+ .catch((info) => {
+ console.error("Validate Failed:", info);
+ });
+ }}
+ >
+
+
+
+
+
))}
)}
- {/* {store.transaction.data.length !== 0 && (
-
-
-
- )} */}
);
});