import * as R from "ramda"; import { ZappPipesEntryContext, ZappPipesScreenContext, ZappPipesSearchContext, } from "../../../Contexts"; export function riverIsCurrentRoute(riverId, route) { const routeRiverId = R.compose(R.last, R.split("/"))(route); return typeof riverId === "undefined" || routeRiverId === riverId; } export function usePipesContexts( riverId: string, route: string ): { entryContext: ReturnType[0]; searchContext: string; screenContext: ZappRiver; } { const isNestedScreen = !riverIsCurrentRoute(riverId, route); const routeForEntry = isNestedScreen ? `${route}/river/${riverId}` : route; const [entryContext] = ZappPipesEntryContext.useZappPipesContext( routeForEntry, isNestedScreen ); const [searchContext] = ZappPipesSearchContext.useZappPipesContext(); const [screenContext] = ZappPipesScreenContext.useZappPipesContext(); return { entryContext, searchContext, screenContext, }; }