import React, { useMemo, useState } from 'react';
import { useTranslation } from 'next-i18next';
import dynamic from 'next/dynamic';
import {
Modal, ModalBody, ModalHeader,
} from 'reactstrap';
import {
useDisableLinkSharing, useIsGuestUser, useIsReadOnlyUser, useIsSharedUser,
} from '~/stores/context';
import { usePageAccessoriesModal, PageAccessoriesModalContents } from '~/stores/modal';
import { CustomNavTab } from '../CustomNavigation/CustomNav';
import CustomTabContent from '../CustomNavigation/CustomTabContent';
import ExpandOrContractButton from '../ExpandOrContractButton';
import AttachmentIcon from '../Icons/AttachmentIcon';
import HistoryIcon from '../Icons/HistoryIcon';
import ShareLinkIcon from '../Icons/ShareLinkIcon';
import { useAutoOpenModalByQueryParam } from './hooks';
import styles from './PageAccessoriesModal.module.scss';
const PageAttachment = dynamic(() => import('./PageAttachment'), { ssr: false });
const PageHistory = dynamic(() => import('./PageHistory').then(mod => mod.PageHistory), { ssr: false });
const ShareLink = dynamic(() => import('./ShareLink').then(mod => mod.ShareLink), { ssr: false });
export const PageAccessoriesModal = (): JSX.Element => {
const { t } = useTranslation();
const [isWindowExpanded, setIsWindowExpanded] = useState(false);
const { data: isSharedUser } = useIsSharedUser();
const { data: isGuestUser } = useIsGuestUser();
const { data: isReadOnlyUser } = useIsReadOnlyUser();
const { data: isLinkSharingDisabled } = useDisableLinkSharing();
const { data: status, close, selectContents } = usePageAccessoriesModal();
useAutoOpenModalByQueryParam();
const navTabMapping = useMemo(() => {
return {
[PageAccessoriesModalContents.PageHistory]: {
Icon: HistoryIcon,
Content: () => {
return