import { Button, Input, message, Modal, Table } from 'antd';
import { Fragment, useEffect, useMemo, useState } from 'react';
import { TextArea } from '../components/TextArea';
import { useContainerStore } from '../store';
import { useShallow } from 'zustand/react/shallow';
import { Form } from 'antd';
import copy from 'copy-to-clipboard';
import { useNavigate } from 'react-router';
import { EditOutlined, SettingOutlined, LinkOutlined, SaveOutlined, DeleteOutlined, LeftOutlined } from '@ant-design/icons';
import clsx from 'clsx';
const FormModal = () => {
const [form] = Form.useForm();
const containerStore = useContainerStore(
useShallow((state) => {
return {
showEdit: state.showEdit,
setShowEdit: state.setShowEdit,
formData: state.formData,
updateData: state.updateData,
};
}),
);
useEffect(() => {
const open = containerStore.showEdit;
if (open) {
form.setFieldsValue(containerStore.formData || {});
}
}, [containerStore.showEdit]);
const onFinish = async (values: any) => {
containerStore.updateData(values);
};
const onClose = () => {
containerStore.setShowEdit(false);
form.resetFields();
};
const isEdit = containerStore.formData.id;
return (
containerStore.setShowEdit(false)}
destroyOnClose
footer={false}
width={800}
onCancel={onClose}>
);
};
export const ContainerList = () => {
const navicate = useNavigate();
const containerStore = useContainerStore(
useShallow((state) => {
return {
setFormData: state.setFormData,
setShowEdit: state.setShowEdit,
list: state.list,
deleteData: state.deleteData,
getList: state.getList,
loading: state.loading,
publishData: state.publishData,
updateData: state.updateData,
formData: state.formData,
};
}),
);
const [codeEdit, setCodeEdit] = useState(false);
const [code, setCode] = useState('');
useEffect(() => {
containerStore.getList();
}, []);
const onAdd = () => {
containerStore.setFormData({});
containerStore.setShowEdit(true);
};
return (
{containerStore.list.length > 0 &&
containerStore.list.map((item) => {
return (
{
setCode(item.code);
containerStore.setFormData(item);
setCodeEdit(true);
}}>
{
copy(item.code);
e.stopPropagation();
message.success('copy code success');
}}>
{item.title || '-'}
{item.description ? item.description : '-'}
);
})}
{new Array(4).fill(0).map((_, index) => {
return
;
})}
{containerStore.list.length == 0 && (
No Data
)}
);
};