SidebarContents.tsx 784 B

123456789101112131415161718192021222324252627282930313233
  1. import React from 'react';
  2. import { SidebarContentsType } from '~/interfaces/ui';
  3. import { useCurrentSidebarContents } from '~/stores/ui';
  4. import CustomSidebar from './CustomSidebar';
  5. import PageTree from './PageTree';
  6. import RecentChanges from './RecentChanges';
  7. import Tag from './Tag';
  8. export const SidebarContents = (): JSX.Element => {
  9. const { data: currentSidebarContents } = useCurrentSidebarContents();
  10. let Contents;
  11. switch (currentSidebarContents) {
  12. case SidebarContentsType.RECENT:
  13. Contents = RecentChanges;
  14. break;
  15. case SidebarContentsType.CUSTOM:
  16. Contents = CustomSidebar;
  17. break;
  18. case SidebarContentsType.TAG:
  19. Contents = Tag;
  20. break;
  21. default:
  22. Contents = PageTree;
  23. }
  24. return (
  25. <Contents />
  26. );
  27. };