import React, { useEffect, useState } from "react"; import { Button, Card, Col, Divider, Input, List, message, Modal, Row, Space, Table, Tag, } from "antd"; import { useStore } from "../../utils/useStore"; import { observer } from "mobx-react-lite"; import { ExclamationCircleOutlined, FilterOutlined, PlusSquareOutlined, } from "@ant-design/icons"; import { MembershipModal } from "./MembershipModal"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { format } from "date-fns"; const { Search } = Input; export const Membership = observer(() => { const store = useStore(); const [visibleModal, setVisibleModal] = useState(false); const [initialData, setInitialData] = useState({}); const [confirmLoading, setConfirmLoading] = useState(false); const [isLoading, setIsLoading] = useState(false); const init = async () => { try { setIsLoading(true); await store.membership.getData(); setIsLoading(false); } catch (e) { setIsLoading(false); } }; useEffect(() => { init(); }, []); const columns = [ { title: "Name", dataIndex: "username", key: "username", }, { title: "Username", dataIndex: "username", key: "username", }, { title: "Status", dataIndex: "status", key: "status", render: (text, record) => ( {record?.isActive === true ? " ACTIVE" : "INACTIVE"} ), }, { title: "Action", key: "action", render: (text, record) => ( {/* */} ), }, ]; const routeData = [ { route: "/app/home", name: "Home", }, { route: "/app/membership", name: Membership, }, ]; const onSubmit = async (data) => { if (initialData.id) { setInitialData({}); setConfirmLoading(true); try { console.log(data) await store.membership.update(initialData.id, data); message.success("Success Update Data Member"); await store.membership.getData(); } catch (e) { message.error("Failed Update Data Member"); } setConfirmLoading(false); setVisibleModal(false); } else { setInitialData({}); setConfirmLoading(true); try { await store.membership.create(data); message.success("Success Add New Member"); await store.membership.getData(); } catch (e) { console.log(e, "apa errornya"); message.error("Failed Add Member"); } setConfirmLoading(false); setVisibleModal(false); } }; const handleDelete = (record) => { Modal.confirm({ title: "Are you sure reject this record?", icon: , okText: "Yes", okType: "primary", cancelText: "Cancel", async onOk() { try { //TODO: minta apinya ke ka ilham ya, jangan di uncomment kalo pake api reconcile, nanti beneran ke apus datanya await store.membership.delete(record) message.success("Success Delete Data"); await store.membership.getData(); } catch (e) { message.error("Failed Delete Data"); } }, onCancel() { console.log("Cancel"); }, }); }; return (
{/*

Some contents...

Some contents...

Some contents...

*/}
{store.ui.mediaQuery.isDesktop && ( { // store.membership.pageSize = page.pageSize; // store.membership.page = page.current; // store.membership.getData(); // }} // current={store.membership.page} // loading={store.membership.pageSize} /> )} {store.ui.mediaQuery.isMobile && ( { store.membership.pageSize = page.pageSize; store.membership.page = page.current; store.membership.getData(); }, pageSize: store.membership.pageSize, total: store.membership.total_data, current: store.membership.page, style: { marginBottom: "1rem", marginRight: "1rem" }, }} dataSource={store.membership.data} style={{ padding: 0 }} renderItem={(item) => { return (

Username : {item.username}

} />

{item.username}

); }} /> )} { onSubmit(data); }} onCancel={() => { setInitialData({}); setVisibleModal(false); }} /> ); });