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 (
<>
{t('ui_settings.side_bar_mode.description')}
>
);
};
return (
<>
{t('ui_settings.ui_settings')}
{ renderSidebarModeSwitch() }
>
);
};