import React from 'react';
import dynamic from 'next/dynamic';
import { useHackmdDraftUpdatedEffect } from '~/client/services/side-effects/hackmd-draft-updated';
import { useHashChangedEffect } from '~/client/services/side-effects/hash-changed';
import { usePageUpdatedEffect } from '~/client/services/side-effects/page-updated';
import { useIsEditable } from '~/stores/context';
import { EditorMode, useEditorMode } from '~/stores/ui';
import { LazyRenderer } from '../Common/LazyRenderer';
const PageEditor = dynamic(() => import('../PageEditor'), { ssr: false });
const EditorNavbarBottom = dynamic(() => import('../PageEditor/EditorNavbarBottom'), { ssr: false });
type Props = {
pageView: JSX.Element,
}
export const DisplaySwitcher = (props: Props): JSX.Element => {
const { pageView } = props;
const { data: editorMode = EditorMode.View } = useEditorMode();
const { data: isEditable } = useIsEditable();
usePageUpdatedEffect();
useHashChangedEffect();
useHackmdDraftUpdatedEffect();
const isViewMode = editorMode === EditorMode.View;
return (
<>
{ isViewMode && pageView }
{ isEditable && !isViewMode && }
>
);
};