|
|
@@ -8,6 +8,9 @@ import { SSRConfig, UserConfig } from 'next-i18next';
|
|
|
import * as nextI18NextConfig from '^/config/next-i18next.config';
|
|
|
|
|
|
import type { CrowiRequest } from '~/interfaces/crowi-request';
|
|
|
+import { ISidebarConfig } from '~/interfaces/sidebar-config';
|
|
|
+import { IUserUISettings } from '~/interfaces/user-ui-settings';
|
|
|
+import { useCurrentProductNavWidth, useCurrentSidebarContents, usePreferDrawerModeByUser, usePreferDrawerModeOnEditByUser, useSidebarCollapsed } from '~/stores/ui';
|
|
|
|
|
|
export type CommonProps = {
|
|
|
namespacesRequired: string[], // i18next
|
|
|
@@ -139,3 +142,12 @@ export const generateCustomTitleForPage = (props: CommonProps, pagePath: string)
|
|
|
.replace('{{pagepath}}', pagePath)
|
|
|
.replace('{{pagename}}', dPagePath.latter);
|
|
|
};
|
|
|
+
|
|
|
+export const useInitSidebarConfig = (sidebarConfig: ISidebarConfig, userUISettings?: IUserUISettings) => {
|
|
|
+ // UserUISettings
|
|
|
+ usePreferDrawerModeByUser(userUISettings?.preferDrawerModeByUser ?? sidebarConfig.isSidebarDrawerMode);
|
|
|
+ usePreferDrawerModeOnEditByUser(userUISettings?.preferDrawerModeOnEditByUser);
|
|
|
+ useSidebarCollapsed(userUISettings?.isSidebarCollapsed ?? sidebarConfig.isSidebarClosedAtDockMode);
|
|
|
+ useCurrentSidebarContents(userUISettings?.currentSidebarContents);
|
|
|
+ useCurrentProductNavWidth(userUISettings?.currentProductNavWidth);
|
|
|
+}
|