import React from 'react';
import PropTypes from 'prop-types';
import urljoin from 'url-join';
import LinkedPagePath from '../models/linked-page-path';
const PagePathHierarchicalLink = (props) => {
const { linkedPagePath, basePath, isInTrash } = props;
// render root element
if (linkedPagePath.isRoot) {
if (basePath != null) {
return null;
}
return isInTrash
? (
<>
/
>
)
: (
<>
/
>
);
}
const isParentExists = linkedPagePath.parent != null;
const isParentRoot = linkedPagePath.parent?.isRoot;
const isSeparatorRequired = isParentExists && !isParentRoot;
const isParentInTrash = isInTrash || linkedPagePath.isInTrash;
const href = encodeURI(urljoin(basePath || '/', linkedPagePath.href));
return (
<>
{ isParentExists && (
) }
{ isSeparatorRequired && (
/
) }
{linkedPagePath.pathName}
>
);
};
PagePathHierarchicalLink.propTypes = {
linkedPagePath: PropTypes.instanceOf(LinkedPagePath).isRequired,
basePath: PropTypes.string,
isInTrash: PropTypes.bool,
};
export default PagePathHierarchicalLink;