import { useEditStore } from '../store'; import { Button, Input, message, Modal, Table, Tooltip } from 'antd'; import { useEffect, useState } from 'react'; import { useShallow } from 'zustand/react/shallow'; import { Form } from 'antd'; import copy from 'copy-to-clipboard'; import { useNavigate } from 'react-router'; import { useToCodeEditor } from '@/pages/code-editor'; import { CardBlank } from '@/components/card/CardBlank'; import { AppstoreFilled, AppstoreOutlined, ArrowRightOutlined, CloudDownloadOutlined, CloudUploadOutlined, CodeOutlined, DeleteOutlined, EditOutlined, ForkOutlined, GoldOutlined, PlusOutlined, RocketFilled, RollbackOutlined, ToolOutlined, } from '@ant-design/icons'; import { isObjectNull } from '@/utils/is-null'; import { PublishFormModal } from './modal/PublishFormModal'; const FormModal = () => { const [form] = Form.useForm(); const editStore = useEditStore( useShallow((state) => { return { showEdit: state.showEditModal, setShowEdit: state.setShowEditModal, formData: state.formData, setFormData: state.setFormData, updateData: state.updateData, }; }), ); useEffect(() => { const open = editStore.showEdit; if (open) { if (isObjectNull(editStore.formData.data)) { form.setFieldsValue({}); } else form.setFieldsValue(editStore.formData); } }, [editStore.showEdit]); const onFinish = async (values: any) => { let defaultData = { nodes: [], edges: [], viewport: {}, }; if (!isEdit) { values.data = defaultData; } editStore.updateData(values); }; const onClose = () => { editStore.setShowEdit(false); form.resetFields(); editStore.setFormData({}); }; const isEdit = editStore.formData.id; return (
); }; export const List = () => { const navicate = useNavigate(); const toCodeEditor = useToCodeEditor(); const editStore = useEditStore( useShallow((state) => { return { setFormData: state.setFormData, setShowEdit: state.setShowEditModal, list: state.list, deleteData: state.deleteData, getList: state.getList, loading: state.loading, setShowPublishModal: state.setShowPublishModal, downloadData: state.downloadData, }; }), ); useEffect(() => { editStore.getList(); }, []); return (
{editStore.list.length > 0 && editStore.list.map((item, index) => { const publish = item.publish; if (publish.id) { console.log(item, item.publish); } return (
{item.title}
{item.description}
); })} {editStore.list.length === 0 &&
No data
}
); };