import { useEffect, useState } from 'react';
import { Link } from 'react-router';
import { ArrowLeft, ArrowRight, ArrowUp } from 'lucide-react';
import { findNeighbour } from 'fumadocs-core/page-tree';
import type * as PageTree from 'fumadocs-core/page-tree';
import { config } from 'virtual:seemore/config';
/** `navigation.footer`: previous / next links. */
export function PageFooter({ tree, url }: { tree: PageTree.Root; url: string }) {
const { previous, next } = findNeighbour(tree, url);
if (previous === undefined && next === undefined) return null;
return (
);
}
export function SiteFooter() {
if (config.footer === undefined) return null;
return (
);
}
/** `navigation.top`. Hidden until the page has actually been scrolled. */
export function BackToTop() {
const [visible, setVisible] = useState(false);
useEffect(() => {
const onScroll = () => setVisible(window.scrollY > 400);
onScroll();
window.addEventListener('scroll', onScroll, { passive: true });
return () => window.removeEventListener('scroll', onScroll);
}, []);
if (!visible) return null;
return (
);
}