import React, { useContext, useEffect, useState } from "react"; import { Button, Card, Col, Divider, Image, Input, List, message, Modal, Row, Space, Table, Tag, Select, Typography, DatePicker, Form, Divinder, } from "antd"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { CheckCircleOutlined, CheckOutlined, CloseOutlined, FilterOutlined, StopOutlined, } from "@ant-design/icons"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { LINKS } from "../../routes/app"; import { ModalLoaderContext } from "../../utils/modal"; import { appConfig } from "../../config/app"; import { capitalize } from "lodash"; import { PAYBACK_STATUS } from "../../constants/payback"; import moment from "moment"; import { useHistory } from "react-router-dom"; export const Konfirmasi = observer(() => { const history = useHistory(); const { Option } = Select; const { Title } = Typography; const [form] = Form.useForm(); const store = useStore(); const modalLoader = useContext(ModalLoaderContext); const [filterMembership, setFilterMembership] = useState([]); const [filterSubCategories, setFilterSubCategories] = useState([]); const [visibleModalToko, setVisibleModalToko] = useState(false); const [VisibleModalIdentitas, setVisibleModalIdentitas] = useState(false); const [toko, setToko] = useState({}); const [identitas, setIdentitas] = useState({}); useEffect(() => { const init = async () => { try { modalLoader.setLoading(true); await store.approval.getData(); 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 columns = [ { title: "Name", dataIndex: "username", key: "username", }, { title: "Foto Identitas", dataIndex: ["user_detail", "image_identity"], key: "user_detail.image_identity", render: (text, record) => ( {record.image_identity} ), }, { title: "Foto Toko", dataIndex: "image_prove", key: "image_prove", render: (text, record) => ( ), }, { title: "Action", dataIndex: "amount", key: "action", width: "10%", render: (text, record) => record.is_active === false ? ( ) : ( {record.is_active === false ? "Tidak Aktif" : "Aktif"} ), }, ]; if (store.authentication.userData.role === "Retail") columns.pop(); const routeData = [ { route: LINKS.HOME, name: "Beranda", }, { route: LINKS.KONFIRMASI, name: Konfirmasi Retail, }, ]; const dataRoute = [ { route: LINKS.PAYBACK, name: "Konfirmasi Retail", }, ]; const handleApprove = async (id) => { modalLoader.setLoading(true); try { const response = await store.approval.approveUser(id); console.log(response); response.body.statusCode !== 201 && response.body.statusCode !== 200 ? message.error(response?.body?.message || `Failed Approve`) : message.success(response?.body?.message || `Success Approve`); } catch (e) { console.error(e, "apa errornya"); message.error(e.response?.body?.message || "Fail Approve"); } modalLoader.setLoading(false); }; const handleReject = async (id) => { modalLoader.setLoading(true); try { const response = await store.approval.rejectUser(id); console.log(response); response.body.statusCode !== 201 && response.body.statusCode !== 200 ? message.error(response?.body?.message || `Failed Reject`) : message.success(response?.body?.message || `Success Reject`); } catch (e) { console.error(e, "apa errornya"); message.error(e.response?.body?.message || "Fail Approve"); } modalLoader.setLoading(false); }; return (
{store.ui.mediaQuery.isDesktop && ( { let pageNumber = page.current; store.approval.pageSize = page.pageSize; store.approval.page = pageNumber - 1; modalLoader.setLoading(true); await store.approval.getData(); modalLoader.setLoading(false); }} /> )} {store.ui.mediaQuery.isMobile && ( { store.approval.pageSize = page.pageSize; store.approval.page = page.current - 1; modalLoader.setLoading(true); await store.approval.getData(); modalLoader.setLoading(false); }, pageSize: store.approval.pageSize, total: store.approval.total_data, current: store.approval.page + 1, style: { marginBottom: "1rem", marginRight: "1rem" }, }} dataSource={store.approval.data} style={{ padding: 0 }} renderItem={(item) => { return (

Username: {item.username}
{item.is_active === false ? ( ) : ( {item.is_active === false ? "Tidak Aktif" : "Aktif"} )}

} />
); }} /> )} { form.resetFields(); setVisibleModalToko(false); setVisibleModalIdentitas(false); }} width={1000} footer={false} > {visibleModalToko === true ? ( {JSON.parse(toko.user_detail.image_store).map((gmbr, idx) => ( ))} ) : ( )} ); });