import React, { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { toastSuccess, toastError } from '~/client/util/apiNotification'; import { apiv3Get, apiv3Put } from '~/client/util/apiv3-client'; import { isDarkMode as isDarkModeByUtil } from '~/client/util/color-scheme'; const isDarkMode = isDarkModeByUtil(); const colorText = isDarkMode ? 'dark' : 'light'; const CustomizeLayoutSetting = (): JSX.Element => { const { t } = useTranslation(); const [isContainerFluid, setIsContainerFluid] = useState(false); const [retrieveError, setRetrieveError] = useState(); const retrieveData = useCallback(async() => { try { const res = await apiv3Get('/customize-setting/layout'); setIsContainerFluid(res.data.isContainerFluid); } catch (err) { setRetrieveError(err); toastError(err); } }, []); useEffect(() => { retrieveData(); }, [retrieveData]); const onClickSubmit = async() => { try { await apiv3Put('/customize-setting/layout', { isContainerFluid }); toastSuccess(t('toaster.update_successed', { target: t('admin:customize_setting.layout') })); retrieveData(); } catch (err) { toastError(err); } }; return (

{t('admin:customize_setting.layout')}

setIsContainerFluid(false)} role="button" >
{t('admin:customize_setting.layout_options.default')}
setIsContainerFluid(true)} role="button" >
{t('admin:customize_setting.layout_options.expanded')}
); }; export default CustomizeLayoutSetting;