Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
1 line
No EOL
8.4 KiB
Text
1 line
No EOL
8.4 KiB
Text
{"version":3,"sources":["../../../src/client/components/navigation-devtools.ts"],"sourcesContent":["import type { FlightRouterState } from '../../shared/lib/app-router-types'\nimport type { Params } from '../../server/request/params'\nimport {\n createDevToolsInstrumentedPromise,\n type InstrumentedPromise,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport {\n computeSelectedLayoutSegment,\n getSelectedLayoutSegmentPath,\n} from '../../shared/lib/segment'\nimport { ReadonlyURLSearchParams } from './readonly-url-search-params'\n\n/**\n * Promises are cached by tree to ensure stability across suspense retries.\n */\ntype LayoutSegmentPromisesCache = {\n selectedLayoutSegmentPromises: Map<string, InstrumentedPromise<string | null>>\n selectedLayoutSegmentsPromises: Map<string, InstrumentedPromise<string[]>>\n}\n\nconst layoutSegmentPromisesCache = new WeakMap<\n FlightRouterState,\n LayoutSegmentPromisesCache\n>()\n\n/**\n * Creates instrumented promises for layout segment hooks at a given tree level.\n * This is dev-only code for React Suspense DevTools instrumentation.\n */\nexport function createLayoutSegmentPromises(\n tree: FlightRouterState\n): LayoutSegmentPromisesCache | null {\n if (process.env.NODE_ENV === 'production') {\n return null\n }\n\n // Check if we already have cached promises for this tree\n const cached = layoutSegmentPromisesCache.get(tree)\n if (cached) {\n return cached\n }\n\n // Create new promises and cache them\n const segmentPromises = new Map<string, InstrumentedPromise<string | null>>()\n const segmentsPromises = new Map<string, InstrumentedPromise<string[]>>()\n\n const parallelRoutes = tree[1]\n for (const parallelRouteKey of Object.keys(parallelRoutes)) {\n const segments = getSelectedLayoutSegmentPath(tree, parallelRouteKey)\n\n // Use the shared logic to compute the segment value\n const segment = computeSelectedLayoutSegment(segments, parallelRouteKey)\n\n segmentPromises.set(\n parallelRouteKey,\n createDevToolsInstrumentedPromise('useSelectedLayoutSegment', segment)\n )\n segmentsPromises.set(\n parallelRouteKey,\n createDevToolsInstrumentedPromise('useSelectedLayoutSegments', segments)\n )\n }\n\n const result: LayoutSegmentPromisesCache = {\n selectedLayoutSegmentPromises: segmentPromises,\n selectedLayoutSegmentsPromises: segmentsPromises,\n }\n\n // Cache the result for future renders\n layoutSegmentPromisesCache.set(tree, result)\n\n return result\n}\n\nconst rootNavigationPromisesCache = new WeakMap<\n FlightRouterState,\n Map<string, NavigationPromises>\n>()\n\n/**\n * Creates instrumented navigation promises for the root app-router.\n */\nexport function createRootNavigationPromises(\n tree: FlightRouterState,\n pathname: string,\n searchParams: URLSearchParams,\n pathParams: Params\n): NavigationPromises | null {\n if (process.env.NODE_ENV === 'production') {\n return null\n }\n\n // Create stable cache keys from the values\n const searchParamsString = searchParams.toString()\n const pathParamsString = JSON.stringify(pathParams)\n const cacheKey = `${pathname}:${searchParamsString}:${pathParamsString}`\n\n // Get or create the cache for this tree\n let treeCache = rootNavigationPromisesCache.get(tree)\n if (!treeCache) {\n treeCache = new Map<string, NavigationPromises>()\n rootNavigationPromisesCache.set(tree, treeCache)\n }\n\n // Check if we have cached promises for this combination\n const cached = treeCache.get(cacheKey)\n if (cached) {\n return cached\n }\n\n const readonlySearchParams = new ReadonlyURLSearchParams(searchParams)\n\n const layoutSegmentPromises = createLayoutSegmentPromises(tree)\n\n const promises: NavigationPromises = {\n pathname: createDevToolsInstrumentedPromise('usePathname', pathname),\n searchParams: createDevToolsInstrumentedPromise(\n 'useSearchParams',\n readonlySearchParams\n ),\n params: createDevToolsInstrumentedPromise('useParams', pathParams),\n ...layoutSegmentPromises,\n }\n\n treeCache.set(cacheKey, promises)\n\n return promises\n}\n\nconst nestedLayoutPromisesCache = new WeakMap<\n FlightRouterState,\n Map<NavigationPromises | null, NavigationPromises>\n>()\n\n/**\n * Creates merged navigation promises for nested layouts.\n * Merges parent promises with layout-specific segment promises.\n */\nexport function createNestedLayoutNavigationPromises(\n tree: FlightRouterState,\n parentNavPromises: NavigationPromises | null\n): NavigationPromises | null {\n if (process.env.NODE_ENV === 'production') {\n return null\n }\n\n const parallelRoutes = tree[1]\n const parallelRouteKeys = Object.keys(parallelRoutes)\n\n // Only create promises if there are parallel routes at this level\n if (parallelRouteKeys.length === 0) {\n return null\n }\n\n // Get or create the cache for this tree\n let treeCache = nestedLayoutPromisesCache.get(tree)\n if (!treeCache) {\n treeCache = new Map<NavigationPromises | null, NavigationPromises>()\n nestedLayoutPromisesCache.set(tree, treeCache)\n }\n\n // Check if we have cached promises for this parent combination\n const cached = treeCache.get(parentNavPromises)\n if (cached) {\n return cached\n }\n\n // Create merged promises\n const layoutSegmentPromises = createLayoutSegmentPromises(tree)\n const promises: NavigationPromises = {\n ...parentNavPromises!,\n ...layoutSegmentPromises,\n }\n\n treeCache.set(parentNavPromises, promises)\n\n return promises\n}\n"],"names":["createDevToolsInstrumentedPromise","computeSelectedLayoutSegment","getSelectedLayoutSegmentPath","ReadonlyURLSearchParams","layoutSegmentPromisesCache","WeakMap","createLayoutSegmentPromises","tree","process","env","NODE_ENV","cached","get","segmentPromises","Map","segmentsPromises","parallelRoutes","parallelRouteKey","Object","keys","segments","segment","set","result","selectedLayoutSegmentPromises","selectedLayoutSegmentsPromises","rootNavigationPromisesCache","createRootNavigationPromises","pathname","searchParams","pathParams","searchParamsString","toString","pathParamsString","JSON","stringify","cacheKey","treeCache","readonlySearchParams","layoutSegmentPromises","promises","params","nestedLayoutPromisesCache","createNestedLayoutNavigationPromises","parentNavPromises","parallelRouteKeys","length"],"mappings":"AAEA,SACEA,iCAAiC,QAG5B,uDAAsD;AAC7D,SACEC,4BAA4B,EAC5BC,4BAA4B,QACvB,2BAA0B;AACjC,SAASC,uBAAuB,QAAQ,+BAA8B;AAUtE,MAAMC,6BAA6B,IAAIC;AAKvC;;;CAGC,GACD,OAAO,SAASC,4BACdC,IAAuB;IAEvB,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,OAAO;IACT;IAEA,yDAAyD;IACzD,MAAMC,SAASP,2BAA2BQ,GAAG,CAACL;IAC9C,IAAII,QAAQ;QACV,OAAOA;IACT;IAEA,qCAAqC;IACrC,MAAME,kBAAkB,IAAIC;IAC5B,MAAMC,mBAAmB,IAAID;IAE7B,MAAME,iBAAiBT,IAAI,CAAC,EAAE;IAC9B,KAAK,MAAMU,oBAAoBC,OAAOC,IAAI,CAACH,gBAAiB;QAC1D,MAAMI,WAAWlB,6BAA6BK,MAAMU;QAEpD,oDAAoD;QACpD,MAAMI,UAAUpB,6BAA6BmB,UAAUH;QAEvDJ,gBAAgBS,GAAG,CACjBL,kBACAjB,kCAAkC,4BAA4BqB;QAEhEN,iBAAiBO,GAAG,CAClBL,kBACAjB,kCAAkC,6BAA6BoB;IAEnE;IAEA,MAAMG,SAAqC;QACzCC,+BAA+BX;QAC/BY,gCAAgCV;IAClC;IAEA,sCAAsC;IACtCX,2BAA2BkB,GAAG,CAACf,MAAMgB;IAErC,OAAOA;AACT;AAEA,MAAMG,8BAA8B,IAAIrB;AAKxC;;CAEC,GACD,OAAO,SAASsB,6BACdpB,IAAuB,EACvBqB,QAAgB,EAChBC,YAA6B,EAC7BC,UAAkB;IAElB,IAAItB,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,OAAO;IACT;IAEA,2CAA2C;IAC3C,MAAMqB,qBAAqBF,aAAaG,QAAQ;IAChD,MAAMC,mBAAmBC,KAAKC,SAAS,CAACL;IACxC,MAAMM,WAAW,GAAGR,SAAS,CAAC,EAAEG,mBAAmB,CAAC,EAAEE,kBAAkB;IAExE,wCAAwC;IACxC,IAAII,YAAYX,4BAA4Bd,GAAG,CAACL;IAChD,IAAI,CAAC8B,WAAW;QACdA,YAAY,IAAIvB;QAChBY,4BAA4BJ,GAAG,CAACf,MAAM8B;IACxC;IAEA,wDAAwD;IACxD,MAAM1B,SAAS0B,UAAUzB,GAAG,CAACwB;IAC7B,IAAIzB,QAAQ;QACV,OAAOA;IACT;IAEA,MAAM2B,uBAAuB,IAAInC,wBAAwB0B;IAEzD,MAAMU,wBAAwBjC,4BAA4BC;IAE1D,MAAMiC,WAA+B;QACnCZ,UAAU5B,kCAAkC,eAAe4B;QAC3DC,cAAc7B,kCACZ,mBACAsC;QAEFG,QAAQzC,kCAAkC,aAAa8B;QACvD,GAAGS,qBAAqB;IAC1B;IAEAF,UAAUf,GAAG,CAACc,UAAUI;IAExB,OAAOA;AACT;AAEA,MAAME,4BAA4B,IAAIrC;AAKtC;;;CAGC,GACD,OAAO,SAASsC,qCACdpC,IAAuB,EACvBqC,iBAA4C;IAE5C,IAAIpC,QAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;QACzC,OAAO;IACT;IAEA,MAAMM,iBAAiBT,IAAI,CAAC,EAAE;IAC9B,MAAMsC,oBAAoB3B,OAAOC,IAAI,CAACH;IAEtC,kEAAkE;IAClE,IAAI6B,kBAAkBC,MAAM,KAAK,GAAG;QAClC,OAAO;IACT;IAEA,wCAAwC;IACxC,IAAIT,YAAYK,0BAA0B9B,GAAG,CAACL;IAC9C,IAAI,CAAC8B,WAAW;QACdA,YAAY,IAAIvB;QAChB4B,0BAA0BpB,GAAG,CAACf,MAAM8B;IACtC;IAEA,+DAA+D;IAC/D,MAAM1B,SAAS0B,UAAUzB,GAAG,CAACgC;IAC7B,IAAIjC,QAAQ;QACV,OAAOA;IACT;IAEA,yBAAyB;IACzB,MAAM4B,wBAAwBjC,4BAA4BC;IAC1D,MAAMiC,WAA+B;QACnC,GAAGI,iBAAiB;QACpB,GAAGL,qBAAqB;IAC1B;IAEAF,UAAUf,GAAG,CAACsB,mBAAmBJ;IAEjC,OAAOA;AACT","ignoreList":[0]} |