import { useTranslate } from '@/hooks/common-hooks'; import { useFetchFlow, useSettingFlow } from '@/hooks/flow-hooks'; import { normFile } from '@/utils/file-util'; import { PlusOutlined } from '@ant-design/icons'; import { Form, Input, Modal, Radio, Upload } from 'antd'; import React, { useCallback, useEffect } from 'react'; export function useFlowSettingModal() { const [visibleSettingModal, setVisibleSettingMModal] = React.useState(false); return { visibleSettingModal, setVisibleSettingMModal, }; } type FlowSettingModalProps = { visible: boolean; hideModal: () => void; id: string; }; export const FlowSettingModal = ({ hideModal, visible, id, }: FlowSettingModalProps) => { const { data, refetch } = useFetchFlow(); const [form] = Form.useForm(); const { t } = useTranslate('flow.settings'); const { loading, settingFlow } = useSettingFlow(); // Initialize form with data when it becomes available useEffect(() => { if (data) { form.setFieldsValue({ title: data.title, description: data.description, permission: data.permission, avatar: data.avatar ? [{ thumbUrl: data.avatar }] : [], }); } }, [data, form]); const handleSubmit = useCallback(async () => { if (!id) return; try { const { avatar, ...others } = await form.validateFields(); const param = { ...others, id, avatar: avatar && avatar.length > 0 ? avatar[0].thumbUrl : '', }; settingFlow(param); } catch (error) { console.error('Validation failed:', error); } }, [form, id, settingFlow]); React.useEffect(() => { if (!loading && refetch && visible) { refetch(); } }, [loading, refetch, visible]); return (
false} showUploadList={{ showPreviewIcon: false, showRemoveIcon: false }} > {t('me')} {t('team')}
); };