import React, { useCallback } from 'react'; import { useTranslation } from 'next-i18next'; import { Card, CardBody } from 'reactstrap'; import AdminCustomizeContainer from '~/client/services/AdminCustomizeContainer'; import { toastSuccess, toastError } from '~/client/util/toastr'; import { withUnstatedContainers } from '../../UnstatedUtils'; import AdminUpdateButtonRow from '../Common/AdminUpdateButtonRow'; import CustomizeFunctionOption from './CustomizeFunctionOption'; import PagingSizeUncontrolledDropdown from './PagingSizeUncontrolledDropdown'; type Props = { adminCustomizeContainer: AdminCustomizeContainer } const CustomizeFunctionSetting = (props: Props): JSX.Element => { const { adminCustomizeContainer } = props; const { t } = useTranslation(); const onClickSubmit = useCallback(async() => { try { await adminCustomizeContainer.updateCustomizeFunction(); toastSuccess(t('toaster.update_successed', { target: t('admin:customize_settings.function'), ns: 'commons' })); } catch (err) { toastError(err); } }, [t, adminCustomizeContainer]); return (

{t('admin:customize_settings.function')}

{t('admin:customize_settings.function_desc')}
{ adminCustomizeContainer.switchEnabledAttachTitleHeader() }} >

{t('admin:customize_settings.function_options.attach_title_header_desc')}

{ adminCustomizeContainer.switchEnableStaleNotification() }} >

{t('admin:customize_settings.function_options.stale_notification_desc')}

{ adminCustomizeContainer.switchIsAllReplyShown() }} >

{t('admin:customize_settings.function_options.show_all_reply_comments_desc')}

{ adminCustomizeContainer.switchIsSearchScopeChildrenAsDefault() }} >

{t('admin:customize_settings.function_options.select_search_scope_children_as_default_desc')}

{ adminCustomizeContainer.switchShowPageSideAuthors() }} >

{t('admin:customize_settings.function_options.show_page_side_authors_desc')}

); }; const CustomizeFunctionSettingWrapper = withUnstatedContainers(CustomizeFunctionSetting, [AdminCustomizeContainer]); export default CustomizeFunctionSettingWrapper;