import React, { FC } from 'react'; import { DevidedPagePath, pagePathUtils } from '@growi/core'; import dynamic from 'next/dynamic'; import { useIsNotFound } from '~/stores/context'; import LinkedPagePath from '../models/linked-page-path'; import PagePathHierarchicalLink from './PagePathHierarchicalLink'; const { isTrashPage } = pagePathUtils; type Props = { pagePath: string, pageId?: string | null, isSingleLineMode?:boolean, isCompactMode?:boolean, } const CopyDropdown = dynamic(() => import('./Page/CopyDropdown'), { ssr: false }); const PagePathNav: FC = (props: Props) => { const { pageId, pagePath, isSingleLineMode, isCompactMode, } = props; const dPagePath = new DevidedPagePath(pagePath, false, true); const { data: isNotFound } = useIsNotFound(); const isInTrash = isTrashPage(pagePath); let formerLink; let latterLink; // one line if (dPagePath.isRoot || dPagePath.isFormerRoot || isSingleLineMode) { const linkedPagePath = new LinkedPagePath(pagePath); latterLink = ; } // two line else { const linkedPagePathFormer = new LinkedPagePath(dPagePath.former); const linkedPagePathLatter = new LinkedPagePath(dPagePath.latter); formerLink = ; latterLink = ; } const copyDropdownId = `copydropdown${isCompactMode ? '-subnav-compact' : ''}-${pageId}`; const copyDropdownToggleClassName = 'd-block btn-outline-secondary btn-copy border-0 text-muted p-2'; return (
{formerLink}

{latterLink}

{ pageId != null && !isNotFound && (
) }
); }; export default PagePathNav;