import React, { useEffect } from 'react'; import PropTypes from 'prop-types'; import AdminCustomizeContainer from '~/client/services/AdminCustomizeContainer'; import { toastError } from '~/client/util/apiNotification'; import { toArrayIfNot } from '~/utils/array-utils'; import loggerFactory from '~/utils/logger'; import { withUnstatedContainers } from '../../UnstatedUtils'; import CustomizeCssSetting from './CustomizeCssSetting'; import CustomizeFunctionSetting from './CustomizeFunctionSetting'; import CustomizeHeaderSetting from './CustomizeHeaderSetting'; import CustomizeHighlightSetting from './CustomizeHighlightSetting'; import CustomizeLayoutSetting from './CustomizeLayoutSetting'; import CustomizeLogoSetting from './CustomizeLogoSetting'; import CustomizeScriptSetting from './CustomizeScriptSetting'; import CustomizeSidebarSetting from './CustomizeSidebarSetting'; import CustomizeThemeSetting from './CustomizeThemeSetting'; import CustomizeTitle from './CustomizeTitle'; const logger = loggerFactory('growi:services:AdminCustomizePage'); function Customize(props) { const { adminCustomizeContainer } = props; useEffect(() => { async function fetchCustomizeSettingsData() { await adminCustomizeContainer.retrieveCustomizeData(); } try { fetchCustomizeSettingsData(); } catch (err) { const errs = toArrayIfNot(err); toastError(errs); logger.error(errs); } }, [adminCustomizeContainer]); return (