import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { UncontrolledTooltip } from 'reactstrap'; import { updateUserUISettings } from '~/client/services/user-ui-settings'; import { toastError, toastSuccess } from '~/client/util/toastr'; import { useCollapsedContentsOpened, usePreferCollapsedMode, useSidebarMode } from '~/stores/ui'; import styles from './UISettings.module.scss'; const IconWithTooltip = ({ id, label, children, additionalClasses, }: { id: string, label: string, children: JSX.Element, additionalClasses: string }) => ( <>
{children}
{label} ); export const UISettings = (): JSX.Element => { const { t } = useTranslation(); const { isDockMode, isCollapsedMode, } = useSidebarMode(); const { mutate: mutatePreferCollapsedMode } = usePreferCollapsedMode(); const { mutate: mutateCollapsedContentsOpened } = useCollapsedContentsOpened(); const toggleCollapsed = useCallback(() => { mutatePreferCollapsedMode(!isCollapsedMode()); mutateCollapsedContentsOpened(false); }, [mutatePreferCollapsedMode, isCollapsedMode, mutateCollapsedContentsOpened]); const updateButtonHandler = useCallback(async() => { try { await updateUserUISettings({ preferCollapsedModeByUser: isCollapsedMode() }); toastSuccess(t('toaster.update_successed', { target: t('ui_settings.side_bar_mode.settings'), ns: 'commons' })); } catch (err) { toastError(err); } }, [isCollapsedMode, t]); const renderSidebarModeSwitch = () => { return ( <>
sidebar-collapsed
sidebar-dock

{t('ui_settings.side_bar_mode.description')}

); }; return ( <>

{t('ui_settings.ui_settings')}

{ renderSidebarModeSwitch() }
); };