diff --git a/apps/portal/src/components/Document/AutoNextPageButton.tsx b/apps/portal/src/components/Document/AutoNextPageButton.tsx new file mode 100644 index 00000000000..8cb726b5b18 --- /dev/null +++ b/apps/portal/src/components/Document/AutoNextPageButton.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { usePathname } from "next/navigation"; +import type { SidebarLink } from "@/components/others/Sidebar"; +import { NextPageButton } from "./NextPageButton"; +import { getNextPageFromSidebar } from "./utils/getNextPageFromSidebar"; + +export function AutoNextPageButton({ + sidebarLinks, +}: { + sidebarLinks: SidebarLink[]; +}) { + const pathname = usePathname(); + + // Don't show next button on home page + if (pathname === "/") { + return null; + } + + const nextPage = getNextPageFromSidebar(sidebarLinks, pathname); + + if (!nextPage) { + return null; + } + + return ; +} diff --git a/apps/portal/src/components/Document/NextPageButton.tsx b/apps/portal/src/components/Document/NextPageButton.tsx new file mode 100644 index 00000000000..0e9925ce29a --- /dev/null +++ b/apps/portal/src/components/Document/NextPageButton.tsx @@ -0,0 +1,16 @@ +import { ArrowRightIcon } from "lucide-react"; +import Link from "next/link"; + +export function NextPageButton(props: { href: string; name: string }) { + return ( + +
Next: {props.name}
+
+ +
+ + ); +} diff --git a/apps/portal/src/components/Document/PageFooter.tsx b/apps/portal/src/components/Document/PageFooter.tsx index e79bd444dca..3e059c90287 100644 --- a/apps/portal/src/components/Document/PageFooter.tsx +++ b/apps/portal/src/components/Document/PageFooter.tsx @@ -6,15 +6,25 @@ import { VideoIcon, } from "lucide-react"; import { Feedback } from "../others/Feedback"; +import type { SidebarLink } from "../others/Sidebar"; import { Subscribe } from "../others/Subscribe"; import { DocLink } from "."; import { AutoEditPageButton } from "./AutoEditPageButton"; +import { AutoNextPageButton } from "./AutoNextPageButton"; -export function PageFooter(props: { editPageButton?: true }) { +export function PageFooter(props: { + editPageButton?: true; + sidebarLinks?: SidebarLink[]; +}) { return (