layout.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import { useIsContainerFluid } from '~/stores/context';
  2. import { useSWRxCurrentPage } from '~/stores/page';
  3. import { useEditorMode } from '~/stores/ui';
  4. export const useEditorModeClassName = (): string => {
  5. const { getClassNamesByEditorMode } = useEditorMode();
  6. // TODO: Enable `editing-sidebar` class somehow
  7. // https://redmine.weseek.co.jp/issues/111527
  8. // const classNames: string[] = [];
  9. // if (currentPage != null) {
  10. // const isSidebar = currentPage.path === '/Sidebar';
  11. // classNames.push(...getClassNamesByEditorMode(/* isSidebar */));
  12. // }
  13. return `${getClassNamesByEditorMode().join(' ') ?? ''}`;
  14. };
  15. export const useCurrentGrowiLayoutFluidClassName = (): string => {
  16. const { data: currentPage } = useSWRxCurrentPage();
  17. const { data: dataIsContainerFluid } = useIsContainerFluid();
  18. const isContainerFluidEachPage = currentPage == null || !('expandContentWidth' in currentPage)
  19. ? null
  20. : currentPage.expandContentWidth;
  21. const isContainerFluidDefault = dataIsContainerFluid;
  22. const isContainerFluid = isContainerFluidEachPage ?? isContainerFluidDefault;
  23. return isContainerFluid ? 'growi-layout-fluid' : '';
  24. };