import {
NextPreviousContainerStyle,
NextPreviousLinkStyle,
NextPreviousTextStyle,
} from "./styles";
import InternalLink from "../InternalLink";
import {
getChapterDirectory,
isProductRoot,
} from "../../utils/getLocalDirectory";
import type { DirectoryItem } from "../Menu/Directory";
type Directory = {
items: DirectoryItem[];
}
function Prev(item: DirectoryItem) {
return (
previous
{item.title}
);
}
function Next(item: DirectoryItem) {
return (
next
{item.title}
);
}
export default function NextPrevious({url, filterKey}) {
if (isProductRoot(url)) {
return <>>;
}
const chapterDirectory = getChapterDirectory(url) as Directory;
if (!chapterDirectory) {
return null;
}
let {items} = chapterDirectory;
items = items.filter((item) => {
if (!("filters" in item) || item.filters.includes(filterKey)) return true;
return false;
});
let itemIndex = -1;
for (let i = 0; i < items.length; ++i) {
if (url.startsWith(items[i].route)) itemIndex = i;
}
if (itemIndex === -1) {
return <>>;
}
return (
{itemIndex !== 0 ? Prev(items[itemIndex - 1]) : }
{itemIndex != items.length - 1 ? Next(items[itemIndex + 1]) : }
);
}