import React from "react"; import { FixLinks } from "./FixLinks"; import { NavigateOptions } from "./HistoryNavigator"; import { RouteComponent } from "./RouteComponent"; import { ReactRouterContext, useRouterContext } from "./Router"; import { joinPath } from "./path"; interface NestedNavigationContextProps { basePath: string; fixLinks?: boolean; children: React.ReactNode | React.ReactNode[]; } export function NestedNavigationContext({ basePath, fixLinks = false, children }: NestedNavigationContextProps) { const ctx = useRouterContext(); const wrapWithFixLinks = fixLinks ? (elem: any) => {elem} : (elem: any) => elem; return ( { if (options?.isBasePathNested === false) { // Navigate to an absolute path without adding this context's basePath return ctx.navigate(to, options); } const actualBasePath = options?.basePath ? joinPath(basePath, options.basePath) : basePath; return ctx.navigate(to, { ...options, basePath: actualBasePath }); } }}> {wrapWithFixLinks(children ? children : )} ) }