import { Form, Input, message, Modal, Radio, Select, Tabs } from 'antd'; import React, { useEffect } from 'react'; import { DesignMode, DomainTag, Page, PasswordSetting, SeoSocialForm, Status, t, languageCode, } from '@tempi/editor-site'; interface PageSettingModalProps { visible: boolean; setVisible: React.Dispatch>; page: Page; loading: boolean; onSavePage: (data?: object, callback?: () => void) => any; handleChangeDesignMode: (designMode: DesignMode) => void; callbackCancel?: () => void; isTemplate?: boolean; enableLanguageSetting: boolean; } export const PageSettingModal: React.FC = ({ visible, setVisible, page, onSavePage, loading, handleChangeDesignMode, callbackCancel, isTemplate = false, enableLanguageSetting, }) => { const { isGlobalWebsite } = window?.config || {}; const [form] = Form.useForm(); const watchDesignMode = Form.useWatch('designMode', form); const handleCloseModal = () => { setVisible(false); callbackCancel?.(); }; const { flagPB3498 } = window?.config || {}; const onFinish = async (values: Page) => { try { if (values?.password === '') values.password = null; await onSavePage(values, () => { message.success(t('Cập nhật trang thành công')); }); setVisible(false); } catch {} }; useEffect(() => { if (visible) { form.setFieldsValue(page); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [visible]); useEffect(() => { if (visible) handleChangeDesignMode(watchDesignMode); // eslint-disable-next-line react-hooks/exhaustive-deps }, [watchDesignMode, visible]); const items = [ { label: t('Cài đặt chung'), key: 'GENERAL_SETTING', children: ( <> {page?.status === Status.PUBLISHED && page?.domain && (
{t('Tên miền')}
)} {page?.status !== Status.DRAFT && !isTemplate && ( )} {page?.designMode !== DesignMode.ADAPTIVE && ( Responsive Mobile only )} {enableLanguageSetting && (