reroute-js 0.43.2 → 0.43.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +6 -6
- package/cli/bin.js.map +1 -1
- package/cli/index.d.ts +1 -1
- package/cli/index.js +4 -4
- package/cli/index.js.map +1 -1
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/dev.d.ts +1 -1
- package/cli/src/commands/gen.d.ts +1 -1
- package/cli/src/commands/index.d.ts +1 -1
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/commands/lib/assets.d.ts +1 -1
- package/cli/src/commands/lib/bundler.d.ts +1 -1
- package/cli/src/commands/lib/command.d.ts +1 -1
- package/cli/src/commands/lib/env.d.ts +1 -1
- package/cli/src/commands/lib/index.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts +1 -1
- package/cli/src/commands/lib/markdown/availability.d.ts +1 -1
- package/cli/src/commands/lib/markdown/index.d.ts +1 -1
- package/cli/src/commands/lib/markdown/processor.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts +1 -1
- package/cli/src/commands/lib/streaming/analyzer.d.ts +1 -1
- package/cli/src/commands/lib/streaming/suspense.d.ts +1 -1
- package/cli/src/commands/lib/tailwind.d.ts +1 -1
- package/cli/src/commands/lib/terminal-ui.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts +1 -1
- package/cli/src/commands/og.d.ts +1 -1
- package/cli/src/commands/start.d.ts +1 -1
- package/cli/src/index.d.ts +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js +2 -2
- package/core/index.js.map +1 -1
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +1 -1
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +1 -1
- package/core/src/index.d.ts +1 -1
- package/core/src/llms/extractor.d.ts +1 -1
- package/core/src/llms/formatter.d.ts +1 -1
- package/core/src/llms/full-generator.d.ts +1 -1
- package/core/src/llms/index-generator.d.ts +1 -1
- package/core/src/llms/index.d.ts +1 -1
- package/core/src/og/discovery.d.ts +1 -1
- package/core/src/og/index.d.ts +1 -1
- package/core/src/og/meta.d.ts +1 -1
- package/core/src/og/render.d.ts +1 -1
- package/core/src/og/types.d.ts +1 -1
- package/core/src/robots/discovery.d.ts +1 -1
- package/core/src/robots/generator.d.ts +1 -1
- package/core/src/robots/index.d.ts +1 -1
- package/core/src/robots/policies.d.ts +1 -1
- package/core/src/rss/discovery.d.ts +1 -1
- package/core/src/rss/generator.d.ts +1 -1
- package/core/src/rss/index.d.ts +1 -1
- package/core/src/sitemap/discovery.d.ts +1 -1
- package/core/src/sitemap/generator.d.ts +1 -1
- package/core/src/sitemap/index.d.ts +1 -1
- package/core/src/ssr/index.d.ts +1 -1
- package/core/src/ssr/lib/cache.d.ts +1 -1
- package/core/src/ssr/lib/collections.d.ts +1 -1
- package/core/src/ssr/lib/compression.d.ts +1 -1
- package/core/src/ssr/lib/compute/content.d.ts +1 -1
- package/core/src/ssr/lib/compute/index.d.ts +1 -1
- package/core/src/ssr/lib/compute/layouts.d.ts +1 -1
- package/core/src/ssr/lib/compute/routes.d.ts +1 -1
- package/core/src/ssr/lib/data.d.ts +1 -1
- package/core/src/ssr/lib/html.d.ts +1 -1
- package/core/src/ssr/lib/imports.d.ts +1 -1
- package/core/src/ssr/lib/index.d.ts +1 -1
- package/core/src/ssr/lib/layouts.d.ts +1 -1
- package/core/src/ssr/lib/metadata.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts +1 -1
- package/core/src/ssr/lib/modules.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts +1 -1
- package/core/src/ssr/lib/preload.d.ts +1 -1
- package/core/src/ssr/lib/scripts/collections.d.ts +1 -1
- package/core/src/ssr/lib/scripts/data.d.ts +1 -1
- package/core/src/ssr/lib/scripts/escape.d.ts +1 -1
- package/core/src/ssr/lib/scripts/feeds.d.ts +1 -1
- package/core/src/ssr/lib/scripts/index.d.ts +1 -1
- package/core/src/ssr/lib/seed.d.ts +1 -1
- package/core/src/ssr/lib/serialize.d.ts +1 -1
- package/core/src/ssr/lib/setup.d.ts +1 -1
- package/core/src/ssr/lib/styles.d.ts +1 -1
- package/core/src/ssr/lib/template.d.ts +1 -1
- package/core/src/ssr/lib/types.d.ts +1 -1
- package/core/src/ssr/render.d.ts +1 -1
- package/core/src/ssr/stream.d.ts +1 -1
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +12 -8
- package/elysia/index.js.map +3 -3
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/assets.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/caching.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/libs/index.d.ts +1 -1
- package/elysia/src/libs/llms.d.ts +1 -1
- package/elysia/src/libs/response.d.ts +1 -1
- package/elysia/src/libs/serving.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +1 -1
- package/elysia/src/routes/image.d.ts +1 -1
- package/elysia/src/routes/index.d.ts +1 -1
- package/elysia/src/routes/internal.d.ts +1 -1
- package/elysia/src/routes/llms.d.ts +1 -1
- package/elysia/src/routes/og.d.ts +1 -1
- package/elysia/src/routes/redirects.d.ts +1 -1
- package/elysia/src/routes/robots.d.ts +1 -1
- package/elysia/src/routes/rss.d.ts +1 -1
- package/elysia/src/routes/search.d.ts +1 -1
- package/elysia/src/routes/sitemap.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts +1 -1
- package/elysia/src/routes/ssr.d.ts.map +1 -1
- package/elysia/src/routes/static.d.ts +1 -1
- package/elysia/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +36 -5
- package/react/index.js.map +3 -3
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +1 -1
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useData.d.ts.map +1 -1
- package/react/src/hooks/useFeed.d.ts +1 -1
- package/react/src/hooks/useLayoutData.d.ts +1 -1
- package/react/src/hooks/useLlms.d.ts +1 -1
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearch.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/hooks/useToc.d.ts +1 -1
- package/react/src/index.d.ts +1 -1
- package/react/src/lib/collection.d.ts +1 -1
- package/react/src/lib/content.d.ts +1 -1
- package/react/src/lib/head.d.ts +1 -1
- package/react/src/lib/index.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts +1 -1
- package/react/src/lib/route-loader.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/telemetry/react.d.ts +1 -1
- package/telemetry/react.js +2 -2
- package/telemetry/react.js.map +1 -1
- package/telemetry/server.d.ts +1 -1
- package/telemetry/server.js +2 -2
- package/telemetry/server.js.map +1 -1
- package/telemetry/src/react/api.d.ts +1 -1
- package/telemetry/src/react/context.d.ts +1 -1
- package/telemetry/src/react/index.d.ts +1 -1
- package/telemetry/src/react/telemetry.d.ts +1 -1
- package/telemetry/src/server/context.d.ts +1 -1
- package/telemetry/src/server/headers/extractor.d.ts +1 -1
- package/telemetry/src/server/headers/index.d.ts +1 -1
- package/telemetry/src/server/headers/presets.d.ts +1 -1
- package/telemetry/src/server/index.d.ts +1 -1
- package/telemetry/src/server/instrumentation.d.ts +1 -1
- package/telemetry/src/server/plugin.d.ts +1 -1
- package/telemetry/src/server/sourcemap.d.ts +1 -1
package/react/index.js.map
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"import {\n\tcreateContext,\n\ttype ReactNode,\n\tuseCallback,\n\tuseContext,\n\tuseMemo,\n\tuseState,\n} from 'react';\nimport { createResolverFromGetEntry, parseContentHref } from '../lib/content';\nimport type { Any } from '../types/any';\n\ntype ContentRef =\n\t| { collection: string; name: string; module?: string }\n\t| undefined;\n\ntype ContentResolver = (href: string) => ContentRef;\n\nconst ContentRegistryContext = createContext<ContentResolver | null>(null);\nconst ContentIndexContext = createContext<Record<string, Any[]> | null>(null);\nconst ContentGetEntryContext = createContext<\n\t((collection: string, name: string) => Any | undefined) | null\n>(null);\nconst ContentLoadCollectionContext = createContext<\n\t((collection: string) => Promise<Any[] | undefined>) | null\n>(null);\nconst MarkdownComponentsContext = createContext<Any | null>(null);\n\ntype ContentProviderProps = {\n\tchildren?: ReactNode;\n\t/**\n\t * Resolve a content link target to a content reference.\n\t * Return collection + name + module (if known) for optimal prefetching.\n\t */\n\tresolveByHref?: ContentResolver;\n\t/** Optional access to the app's content registry getter (e.g., .reroute/content#getContentEntry) */\n\tgetEntry?: (collection: string, name: string) => Any | undefined;\n\t/** Optional prebuilt byCollection index (e.g., from .reroute/content) */\n\tbyCollection?: Record<string, Any[]> | null;\n\t/** Optional lazy loader that loads a single collection at a time */\n\tloadCollection?: (collection: string) => Promise<{ items: Any[] } | Any>;\n\t/** Optional markdown components for custom markdown rendering */\n\tmarkdownComponents?: Any;\n};\n\nfunction ContentProvider({\n\tchildren,\n\tresolveByHref,\n\tgetEntry,\n\tbyCollection,\n\tloadCollection,\n\tmarkdownComponents,\n}: ContentProviderProps) {\n\tconst [idx, setIdx] = useState<Record<string, Any[]>>(() => {\n\t\tconst seededClient: Record<string, Any[]> = (() => {\n\t\t\ttry {\n\t\t\t\tif (typeof window !== 'undefined') {\n\t\t\t\t\tconst w = window as Any;\n\t\t\t\t\treturn (w.__REROUTE_COLLECTIONS__ as Record<string, Any[]>) || {};\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t\treturn {};\n\t\t})();\n\t\tconst seededServer: Record<string, Any[]> = (() => {\n\t\t\ttry {\n\t\t\t\tif (typeof window === 'undefined') {\n\t\t\t\t\tconst g = globalThis as Any;\n\t\t\t\t\treturn (g.__REROUTE_COLLECTIONS__ as Record<string, Any[]>) || {};\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t\treturn {};\n\t\t})();\n\t\tconst result = {\n\t\t\t...(byCollection || {}),\n\t\t\t...seededServer,\n\t\t\t...seededClient,\n\t\t} as Record<string, Any[]>;\n\n\t\treturn result;\n\t});\n\tconst entryFn = getEntry || null;\n\n\tconst resolver = useMemo<ContentResolver | null>(() => {\n\t\tif (typeof resolveByHref === 'function') return resolveByHref;\n\t\tif (typeof getEntry === 'function')\n\t\t\treturn createResolverFromGetEntry(getEntry);\n\t\t// Fallback: resolve from in-memory index when available (no bundling)\n\t\treturn (href: string) => {\n\t\t\tconst parsed = parseContentHref(href);\n\t\t\tif (!parsed) return undefined;\n\t\t\ttry {\n\t\t\t\tconst list = (idx as Any)?.[parsed.collection] as Any[] | undefined;\n\t\t\t\tif (Array.isArray(list)) {\n\t\t\t\t\tconst found = list.find((e: Any) => e?.name === parsed.name) as\n\t\t\t\t\t\t| Any\n\t\t\t\t\t\t| undefined;\n\t\t\t\t\tif (found && typeof found.module === 'string') {\n\t\t\t\t\t\treturn { ...parsed, module: found.module };\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t\treturn parsed;\n\t\t};\n\t}, [resolveByHref, getEntry, idx]);\n\n\tconst ensureCollection = useCallback(\n\t\tasync (collection: string): Promise<Any[] | undefined> => {\n\t\t\ttry {\n\t\t\t\tconst existing = (idx as Any)[collection];\n\t\t\t\t// Check if this collection is marked as partial (field-stripped)\n\t\t\t\tconst w: Any | undefined =\n\t\t\t\t\ttypeof window !== 'undefined' ? (window as Any) : undefined;\n\t\t\t\tconst isPartial = Boolean(\n\t\t\t\t\tw?.__REROUTE_COLLECTIONS_PARTIAL__?.[collection],\n\t\t\t\t);\n\n\t\t\t\t// If we have items but they're partial, we need to load the full collection\n\t\t\t\t// Otherwise, if we have items, return them\n\t\t\t\tif (Array.isArray(existing) && existing.length && !isPartial) {\n\t\t\t\t\treturn existing;\n\t\t\t\t}\n\n\t\t\t\tif (!loadCollection) return existing;\n\t\t\t\tconst mod = await loadCollection(collection);\n\t\t\t\tconst items = ((mod as Any).items || (mod as Any).list || []) as Any[];\n\t\t\t\tif (Array.isArray(items)) {\n\t\t\t\t\tsetIdx((prev) => ({ ...(prev || {}), [collection]: items }));\n\t\t\t\t\t// Clear the partial flag since we now have full data\n\t\t\t\t\tif (w?.__REROUTE_COLLECTIONS_PARTIAL__) {\n\t\t\t\t\t\tw.__REROUTE_COLLECTIONS_PARTIAL__[collection] = false;\n\t\t\t\t\t}\n\t\t\t\t\treturn items;\n\t\t\t\t}\n\t\t\t\treturn existing;\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t\t[idx, loadCollection],\n\t);\n\n\treturn (\n\t\t<ContentRegistryContext.Provider value={resolver}>\n\t\t\t<ContentIndexContext.Provider value={idx}>\n\t\t\t\t<ContentGetEntryContext.Provider value={entryFn}>\n\t\t\t\t\t<ContentLoadCollectionContext.Provider value={ensureCollection}>\n\t\t\t\t\t\t<MarkdownComponentsContext.Provider\n\t\t\t\t\t\t\tvalue={markdownComponents || null}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</MarkdownComponentsContext.Provider>\n\t\t\t\t\t</ContentLoadCollectionContext.Provider>\n\t\t\t\t</ContentGetEntryContext.Provider>\n\t\t\t</ContentIndexContext.Provider>\n\t\t</ContentRegistryContext.Provider>\n\t);\n}\n\nfunction useContentResolver(): ContentResolver | null {\n\treturn useContext(ContentRegistryContext);\n}\n\nexport { ContentProvider, useContentResolver };\nfunction useContentIndex(): Record<string, Any[]> | null {\n\treturn useContext(ContentIndexContext);\n}\n\nexport { useContentIndex };\nexport type { ContentRef, ContentResolver };\n\nfunction useContentGetEntry():\n\t| ((collection: string, name: string) => Any | undefined)\n\t| null {\n\treturn useContext(ContentGetEntryContext);\n}\n\nexport { useContentGetEntry };\n\nfunction useContentLoadCollection():\n\t| ((collection: string) => Promise<Any[] | undefined>)\n\t| null {\n\treturn useContext(ContentLoadCollectionContext);\n}\n\nexport { useContentLoadCollection };\n\nfunction useMarkdownComponents(): Any | null {\n\treturn useContext(MarkdownComponentsContext);\n}\n\nexport { useMarkdownComponents };\n",
|
|
10
10
|
"import type { ContentRef, ContentResolver } from '../providers/ContentProvider';\nimport type { Any } from '../types/any';\n\nexport function parseContentHref(\n\thref: string,\n): { collection: string; name: string } | undefined {\n\ttry {\n\t\tconst url = new URL(href, 'http://local');\n\t\tconst [collection, name] = url.pathname.split('/').filter(Boolean);\n\t\tif (!(collection && name)) return undefined;\n\t\treturn { collection, name };\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nexport function createResolverFromGetEntry(\n\tgetEntry: (collection: string, name: string) => Any | undefined,\n): ContentResolver {\n\treturn (href: string): ContentRef => {\n\t\tconst parsed = parseContentHref(href);\n\t\tif (!parsed) return undefined;\n\t\ttry {\n\t\t\tconst entry = getEntry(parsed.collection, parsed.name) as Any;\n\t\t\tif (!entry) return parsed;\n\t\t\tconst moduleUrl = (entry as Any)?.module as string | undefined;\n\t\t\treturn moduleUrl ? { ...parsed, module: moduleUrl } : parsed;\n\t\t} catch {\n\t\t\treturn parsed;\n\t\t}\n\t};\n}\n",
|
|
11
11
|
"import { useCallback, useEffect, useMemo, useState } from 'react';\nimport type { SearchHeading } from '../lib/collection';\n\nexport interface SearchResultEntry {\n\tid: string;\n\tcollection: string;\n\tslug: string;\n\thref: string;\n\ttitle: string;\n\texcerpt?: string;\n\t/** Headings that matched the search query */\n\tmatchedHeadings: SearchHeading[];\n}\n\nexport interface SearchResult {\n\ttotal: number;\n\tpage: number;\n\tpageSize: number;\n\ttotalPages: number;\n\tresults: SearchResultEntry[];\n}\n\nexport interface UseSearchParams {\n\t/** Search query string */\n\tquery: string;\n\t/** Optional: filter by specific collections */\n\tcollections?: string[];\n\t/** Optional: page number (default: 1) */\n\tpage?: number;\n\t/** Optional: page size (default: configured in reroute.config or 20) */\n\tpageSize?: number;\n\t/** Optional: enable search (default: true, set to false to disable) */\n\tenabled?: boolean;\n\t/** Optional: debounce delay in ms (default: 300) */\n\tdebounce?: number;\n}\n\nexport interface UseSearchResult {\n\t/** Search results */\n\tresults: SearchResultEntry[];\n\t/** Total number of results */\n\ttotal: number;\n\t/** Current page number */\n\tpage: number;\n\t/** Number of results per page */\n\tpageSize: number;\n\t/** Total number of pages */\n\ttotalPages: number;\n\t/** Whether search is in progress */\n\tisLoading: boolean;\n\t/** Error if search failed */\n\terror: Error | null;\n\t/** Manually trigger search with a new query */\n\tsearch: (query: string, page?: number) => Promise<void>;\n}\n\n/**\n * React hook for searching content using the server-side search endpoint\n *\n * @example\n * ```tsx\n * function SearchBox() {\n * const [query, setQuery] = useState('');\n * const [page, setPage] = useState(1);\n * const { results, isLoading, error, total, totalPages } = useSearch({\n * query,\n * page,\n * pageSize: 10,\n * collections: ['blog', 'docs'],\n * });\n *\n * return (\n * <div>\n * <input\n * type=\"search\"\n * value={query}\n * onChange={(e) => setQuery(e.target.value)}\n * placeholder=\"Search...\"\n * />\n * {isLoading && <div>Searching...</div>}\n * {error && <div>Error: {error.message}</div>}\n * <ul>\n * {results.map((result) => (\n * <li key={result.id}>\n * <a href={result.href}>{result.title}</a>\n * </li>\n * ))}\n * </ul>\n * <div>\n * <button onClick={() => setPage(p => Math.max(1, p - 1))} disabled={page === 1}>\n * Previous\n * </button>\n * <span>Page {page} of {totalPages}</span>\n * <button onClick={() => setPage(p => p + 1)} disabled={page === totalPages}>\n * Next\n * </button>\n * </div>\n * </div>\n * );\n * }\n * ```\n */\nexport function useSearch(params: UseSearchParams): UseSearchResult {\n\tconst {\n\t\tquery,\n\t\tcollections,\n\t\tpage: paramPage = 1,\n\t\tpageSize: paramPageSize,\n\t\tenabled = true,\n\t\tdebounce = 300,\n\t} = params;\n\n\tconst stableCollections = useMemo(() => collections, [collections]);\n\n\tconst [results, setResults] = useState<SearchResultEntry[]>([]);\n\tconst [total, setTotal] = useState(0);\n\tconst [page, setPage] = useState(paramPage);\n\tconst [pageSize, setPageSize] = useState(paramPageSize ?? 20);\n\tconst [totalPages, setTotalPages] = useState(0);\n\tconst [isLoading, setIsLoading] = useState(false);\n\tconst [error, setError] = useState<Error | null>(null);\n\n\tconst performSearch = useCallback(\n\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Search execution with filtering and pagination\n\t\tasync (searchQuery: string, searchPage?: number) => {\n\t\t\tif (!searchQuery.trim()) {\n\t\t\t\tsetResults([]);\n\t\t\t\tsetTotal(0);\n\t\t\t\tsetPage(1);\n\t\t\t\tsetTotalPages(0);\n\t\t\t\tsetError(null);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetIsLoading(true);\n\t\t\tsetError(null);\n\n\t\t\ttry {\n\t\t\t\t// Build query params\n\t\t\t\tconst params = new URLSearchParams();\n\t\t\t\tparams.set('q', searchQuery);\n\n\t\t\t\tif (stableCollections && stableCollections.length > 0) {\n\t\t\t\t\tparams.set('collections', stableCollections.join(','));\n\t\t\t\t}\n\n\t\t\t\tconst currentPage = searchPage ?? paramPage;\n\t\t\t\tif (currentPage > 1) {\n\t\t\t\t\tparams.set('page', String(currentPage));\n\t\t\t\t}\n\n\t\t\t\tif (paramPageSize) {\n\t\t\t\t\tparams.set('pageSize', String(paramPageSize));\n\t\t\t\t}\n\n\t\t\t\tconst response = await fetch(`/__reroute_search?${params.toString()}`);\n\n\t\t\t\tif (!response.ok) {\n\t\t\t\t\tconst errorData = await response.json().catch(() => ({}));\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\terrorData.error || `Search failed with status ${response.status}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst data = (await response.json()) as SearchResult;\n\t\t\t\tsetResults(data.results);\n\t\t\t\tsetTotal(data.total);\n\t\t\t\tsetPage(data.page);\n\t\t\t\tsetPageSize(data.pageSize);\n\t\t\t\tsetTotalPages(data.totalPages);\n\t\t\t} catch (err) {\n\t\t\t\tconst error = err instanceof Error ? err : new Error('Search failed');\n\t\t\t\tsetError(error);\n\t\t\t\tsetResults([]);\n\t\t\t\tsetTotal(0);\n\t\t\t\tsetPage(1);\n\t\t\t\tsetTotalPages(0);\n\t\t\t} finally {\n\t\t\t\tsetIsLoading(false);\n\t\t\t}\n\t\t},\n\t\t[stableCollections, paramPage, paramPageSize],\n\t);\n\n\t// Debounced search effect\n\tuseEffect(() => {\n\t\tif (!enabled) {\n\t\t\tsetResults([]);\n\t\t\tsetTotal(0);\n\t\t\tsetPage(1);\n\t\t\tsetTotalPages(0);\n\t\t\tsetError(null);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!query.trim()) {\n\t\t\tsetResults([]);\n\t\t\tsetTotal(0);\n\t\t\tsetPage(1);\n\t\t\tsetTotalPages(0);\n\t\t\tsetError(null);\n\t\t\treturn;\n\t\t}\n\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tperformSearch(query, paramPage);\n\t\t}, debounce);\n\n\t\treturn () => clearTimeout(timeoutId);\n\t}, [query, paramPage, enabled, debounce, performSearch]);\n\n\tconst search = useCallback(\n\t\tasync (newQuery: string, newPage?: number) => {\n\t\t\tawait performSearch(newQuery, newPage);\n\t\t},\n\t\t[performSearch],\n\t);\n\n\treturn {\n\t\tresults,\n\t\ttotal,\n\t\tpage,\n\t\tpageSize,\n\t\ttotalPages,\n\t\tisLoading,\n\t\terror,\n\t\tsearch,\n\t};\n}\n",
|
|
12
|
-
"import { useEffect, useMemo, useState } from 'react';\nimport type { Any } from '../types/any';\nimport { useRouter } from './useRouter';\n\nconst isThenable = (value: unknown): value is Promise<unknown> => {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof (value as { then?: unknown }).then === 'function'\n\t);\n};\n\n/**\n * Read SSR-seeded route data without loaders.\n * - On server: reads from globalThis.__REROUTE_DATA__\n * - On client: reads from window.__REROUTE_DATA__\n *\n * By default uses the current pathname as the key. You may pass a custom key\n * when seeding multiple entries.\n */\nexport function useData<T = unknown>(key?: string): T | undefined {\n\tconst router = useRouter();\n\tconst [_tick, setTick] = useState(0);\n\n\t// Include query string in the pathname for routes that use searchParams\n\t// Use state to track URL changes\n\tconst [currentUrl, setCurrentUrl] = useState(() =>\n\t\ttypeof window !== 'undefined'\n\t\t\t? window.location.pathname + window.location.search\n\t\t\t: router.pathname,\n\t);\n\n\t// Update currentUrl when router pathname changes\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tconst newUrl = window.location.pathname + window.location.search;\n\t\t\tif (newUrl !== currentUrl) {\n\t\t\t\tsetCurrentUrl(newUrl);\n\t\t\t}\n\t\t}\n\t}, [currentUrl]);\n\n\tconst pathname = currentUrl;\n\tconst k = key || pathname;\n\n\t// DEBUG: Log what key we're using\n\t// if (typeof window !== 'undefined' && pathname === '/forum') {\n\t// \tconsole.log('[useData] key:', key, 'pathname:', pathname, 'k:', k);\n\t// }\n\n\t// Client-side hooks\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\tconst handler = (e: Event) => {\n\t\t\ttry {\n\t\t\t\tconst detail = (e as CustomEvent).detail as Any;\n\t\t\t\tconst keys: string[] = Array.isArray(detail?.keys)\n\t\t\t\t\t? detail.keys\n\t\t\t\t\t: detail?.key\n\t\t\t\t\t\t? [detail.key]\n\t\t\t\t\t\t: [];\n\t\t\t\tif (keys.length > 0 && !keys.includes(k)) return;\n\t\t\t\tsetTick((x) => x + 1);\n\t\t\t} catch {}\n\t\t};\n\t\twindow.addEventListener('__reroute_data__' as Any, handler as Any);\n\t\treturn () => {\n\t\t\ttry {\n\t\t\t\twindow.removeEventListener('__reroute_data__' as Any, handler as Any);\n\t\t\t} catch {}\n\t\t};\n\t}, [k]);\n\n\t// Client fallback: if there is no seeded data for this key after SPA navigation,\n\t// lazily fetch it from the server once. This covers static routes that still\n\t// export ssr.data (e.g., home page) without requiring link-time prefetch.\n\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Data prefetch and cache management\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\ttry {\n\t\t\tconst w = window as Any;\n\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\n\t\t\t// Check if the current key holds a __reroute_multiple__ object that needs unpacking\n\t\t\tconst currentValue = (w.__REROUTE_DATA__ as Any)[k];\n\n\t\t\tif (\n\t\t\t\tcurrentValue &&\n\t\t\t\ttypeof currentValue === 'object' &&\n\t\t\t\tcurrentValue.__reroute_multiple__ === true\n\t\t\t) {\n\t\t\t\t// Unpack the multiple sources into individual keys\n\t\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\t\tif (key !== '__reroute_multiple__') {\n\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Delete the wrapper object - individual keys are now populated\n\t\t\t\tdelete (w.__REROUTE_DATA__ as Any)[k];\n\t\t\t\t// Trigger re-render\n\t\t\t\tsetTick((x) => x + 1);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst existingValue = (w.__REROUTE_DATA__ as Any)[k];\n\t\t\tif (existingValue !== undefined) {\n\t\t\t\t// SPECIAL CASE: If the existing value is a wrapper object containing only layout keys,\n\t\t\t\t// it means it was improperly stored - we need to unpack it\n\t\t\t\tif (typeof existingValue === 'object' && existingValue !== null) {\n\t\t\t\t\tconst keys = Object.keys(existingValue);\n\t\t\t\t\tconst hasOnlyLayoutKeys =\n\t\t\t\t\t\tkeys.length > 0 && keys.every((key) => key.startsWith('__layout:'));\n\n\t\t\t\t\tif (hasOnlyLayoutKeys) {\n\t\t\t\t\t\t// Don't return - continue to the unpacking logic below\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Strategy: If this looks like a data key (not a pathname), first try fetching\n\t\t\t// the current pathname. This handles routes that return flattened multi-key data.\n\t\t\t// If pathname fetch doesn't populate this key, fall back to fetching the key directly.\n\t\t\tconst isLikelyDataKey = !k.startsWith('/');\n\t\t\tconst pathToFetch = isLikelyDataKey ? pathname : k;\n\n\t\t\t// Deduplicate concurrent fetches for the same path\n\t\t\tw.__REROUTE_DATA_PENDING__ = w.__REROUTE_DATA_PENDING__ || ({} as Any);\n\t\t\tconst pending = w.__REROUTE_DATA_PENDING__;\n\t\t\tif (pending[pathToFetch]) {\n\t\t\t\t// Another hook is already fetching this path, wait for it\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Include current query string if fetching current pathname\n\t\t\tconst fetchPath = pathToFetch === pathname ? pathname : pathToFetch;\n\n\t\t\tconst fetchPromise = fetch(\n\t\t\t\t`/__reroute_data?path=${encodeURIComponent(fetchPath)}`,\n\t\t\t\t{\n\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t},\n\t\t\t)\n\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Response parsing and state updates\n\t\t\t\t.then((j) => {\n\t\t\t\t\tif (!j) return;\n\t\t\t\t\tconst payload = j.data ?? j;\n\n\t\t\t\t\t// Check if this is a multi-source response (layout + route)\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\tpayload.__reroute_multiple__ === true\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Multiple data sources: populate each at its specific key\n\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\tif (key !== '__reroute_multiple__') {\n\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t'[useData MUTATION 1] Setting',\n\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t'to',\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t'payload is:',\n\t\t\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\t(payload.__reroute_flattened__ === true ||\n\t\t\t\t\t\t\tpayload.__flatten__ === true)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Flatten: populate each key individually\n\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\tif (key !== '__reroute_flattened__' && key !== '__flatten__') {\n\t\t\t\t\t\t\t\t// console.log('[useData MUTATION 2] Setting', key, 'to', value);\n\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Also store at pathname for consistency\n\t\t\t\t\t\tif (isLikelyDataKey) {\n\t\t\t\t\t\t\t// console.log(\n\t\t\t\t\t\t\t// \t'[useData MUTATION 3] Setting pathname',\n\t\t\t\t\t\t\t// \tpathname,\n\t\t\t\t\t\t\t// \t'to payload',\n\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = payload;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Check if payload contains layout keys that need unpacking\n\t\t\t\t\t\tif (typeof payload === 'object' && payload !== null) {\n\t\t\t\t\t\t\tconst layoutKeys = Object.keys(payload).filter((key) =>\n\t\t\t\t\t\t\t\tkey.startsWith('__layout:'),\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (layoutKeys.length > 0) {\n\t\t\t\t\t\t\t\t// We have layout keys - unpack them and also store at pathname\n\n\t\t\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\t\tif (key.startsWith('__layout:')) {\n\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 4] Setting layout key',\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t'to',\n\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Also store at pathname if this was a pathname fetch\n\t\t\t\t\t\t\t\t// This allows useData() without key to work in layouts\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t!isLikelyDataKey &&\n\t\t\t\t\t\t\t\t\tlayoutKeys.length === Object.keys(payload).length\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// Check if we have only one layout key\n\t\t\t\t\t\t\t\t\tif (layoutKeys.length === 1) {\n\t\t\t\t\t\t\t\t\t\t// Single layout: store its value directly at pathname (preserving lazy markers)\n\t\t\t\t\t\t\t\t\t\tconst layoutValue = (payload as Record<string, unknown>)[\n\t\t\t\t\t\t\t\t\t\t\tlayoutKeys[0]\n\t\t\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 5] Setting pathname',\n\t\t\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\t\t\t'to layoutValue',\n\t\t\t\t\t\t\t\t\t\t\tlayoutValue,\n\t\t\t\t\t\t\t\t\t\t\t'payload:',\n\t\t\t\t\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = layoutValue;\n\t\t\t\t\t\t\t\t\t\tkeys.push(pathname);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// Multiple layouts: merge them (but skip lazy markers as they can't be merged)\n\t\t\t\t\t\t\t\t\t\tconst mergedLayoutData: Record<string, unknown> = {};\n\n\t\t\t\t\t\t\t\t\t\tfor (const layoutKey of layoutKeys) {\n\t\t\t\t\t\t\t\t\t\t\tconst layoutValue = (payload as Record<string, unknown>)[\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutKey\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t\t\t\t\t\t!(layoutValue as Any).__lazy__\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(mergedLayoutData, layoutValue);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif (Object.keys(mergedLayoutData).length > 0) {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 6] Setting pathname',\n\t\t\t\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\t\t\t\t'to mergedLayoutData',\n\t\t\t\t\t\t\t\t\t\t\t\tmergedLayoutData,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = mergedLayoutData;\n\t\t\t\t\t\t\t\t\t\t\tkeys.push(pathname);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Single key response (no layout keys)\n\t\t\t\t\t\tconst targetKey = isLikelyDataKey ? pathToFetch : k;\n\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t'[useData MUTATION 7] Setting targetKey',\n\t\t\t\t\t\t\ttargetKey,\n\t\t\t\t\t\t\t'to payload',\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t'k:',\n\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t'pathToFetch:',\n\t\t\t\t\t\t\tpathToFetch,\n\t\t\t\t\t\t);\n\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[targetKey] = payload;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { key: targetKey },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Force a local re-render\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetTick((x) => x + 1);\n\t\t\t\t\t} catch {}\n\t\t\t\t})\n\t\t\t\t.catch(() => {})\n\t\t\t\t.finally(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdelete (w.__REROUTE_DATA_PENDING__ as Any)[pathToFetch];\n\t\t\t\t\t} catch {}\n\t\t\t\t});\n\n\t\t\t// Store the promise so components can throw it for Suspense\n\t\t\tpending[pathToFetch] = fetchPromise;\n\t\t} catch {}\n\t}, [k, pathname]);\n\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Pagination state management\n\treturn useMemo(() => {\n\t\ttry {\n\t\t\t_tick;\n\t\t\tconst source =\n\t\t\t\ttypeof window === 'undefined'\n\t\t\t\t\t? ((globalThis as Any).__REROUTE_DATA__ as Record<string, unknown>)\n\t\t\t\t\t: ((window as Any).__REROUTE_DATA__ as Record<string, unknown>);\n\n\t\t\tlet value = source?.[k] as T | Promise<T> | undefined;\n\n\t\t\t// If value is undefined and there's a pending fetch, throw it for Suspense\n\t\t\tif (value === undefined && typeof window !== 'undefined') {\n\t\t\t\tconst w = window as Any;\n\t\t\t\tconst pending = w.__REROUTE_DATA_PENDING__;\n\t\t\t\t// Check both the key itself and the pathname\n\t\t\t\tconst pendingPromise = pending?.[k] || pending?.[pathname];\n\t\t\t\tif (pendingPromise && typeof pendingPromise !== 'boolean') {\n\t\t\t\t\tthrow pendingPromise;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// DEBUG: Log what we're returning\n\t\t\t// if (typeof window !== 'undefined' && k === '/forum') {\n\t\t\t// \tconsole.log('[useData return] k:', k, 'value:', value, 'source:', source);\n\t\t\t// \tconsole.log('[useData return] value === source:', value === source);\n\t\t\t// }\n\n\t\t\t// BUGFIX: If value is incorrectly set to the entire source object, extract the correct key\n\t\t\tif (typeof value === 'object' && value !== null && value === source) {\n\t\t\t\t// console.warn('[useData] BUG DETECTED: value === source, extracting correct data for key:', k);\n\t\t\t\t// The entire __REROUTE_DATA__ was incorrectly stored at this key\n\t\t\t\t// Extract just this key's data if it exists as a nested property\n\t\t\t\tif (typeof source === 'object' && source !== null && k in source) {\n\t\t\t\t\tvalue = source[k] as T | Promise<T> | undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// BUGFIX: If value contains both layout keys and the current pathname, extract just the pathname's data\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\ttypeof k === 'string' &&\n\t\t\t\tk.startsWith('/') &&\n\t\t\t\ttypeof source === 'object' &&\n\t\t\t\tsource !== null\n\t\t\t) {\n\t\t\t\tconst valueKeys = Object.keys(value);\n\t\t\t\tconst hasLayoutKeys = valueKeys.some((key) =>\n\t\t\t\t\tkey.startsWith('__layout:'),\n\t\t\t\t);\n\t\t\t\tconst hasPathnameKey = k in value;\n\n\t\t\t\tif (hasLayoutKeys && hasPathnameKey) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'[useData] BUG DETECTED: value contains both layout and pathname keys, extracting pathname data for:',\n\t\t\t\t\t\tk,\n\t\t\t\t\t);\n\t\t\t\t\t// Value incorrectly contains {__layout:/: {...}, /forum: {...}}\n\t\t\t\t\t// Extract just the pathname's data\n\t\t\t\t\tconst extractedValue = (value as Record<string, unknown>)[k];\n\t\t\t\t\tif (extractedValue !== undefined) {\n\t\t\t\t\t\tvalue = extractedValue as T | Promise<T> | undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// SPECIAL CASE: If value is a wrapper object with only layout keys, unwrap it\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\ttypeof window !== 'undefined'\n\t\t\t) {\n\t\t\t\tconst keys = Object.keys(value);\n\t\t\t\tconst layoutKeys = keys.filter((key) => key.startsWith('__layout:'));\n\n\t\t\t\tif (layoutKeys.length > 0 && layoutKeys.length === keys.length) {\n\t\t\t\t\t// Check if all layout values are lazy markers\n\t\t\t\t\tconst allLazy = layoutKeys.every((layoutKey) => {\n\t\t\t\t\t\tconst layoutValue = (value as Record<string, unknown>)[layoutKey];\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t(layoutValue as Any).__lazy__\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\n\t\t\t\t\tif (allLazy && layoutKeys.length === 1) {\n\t\t\t\t\t\t// Single lazy marker in wrapper - unwrap and continue processing\n\n\t\t\t\t\t\tconst lazyMarker = (value as Record<string, unknown>)[\n\t\t\t\t\t\t\tlayoutKeys[0]\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\t// Replace value with unwrapped lazy marker and continue processing (NO MUTATIONS)\n\t\t\t\t\t\tvalue = lazyMarker as T | Promise<T> | undefined;\n\t\t\t\t\t} else if (!allLazy) {\n\t\t\t\t\t\t// Merge layout data from wrapper (NO MUTATIONS - just return merged data)\n\n\t\t\t\t\t\tconst mergedLayoutData: Record<string, unknown> = {};\n\t\t\t\t\t\tfor (const layoutKey of layoutKeys) {\n\t\t\t\t\t\t\tconst layoutValue = (value as Record<string, unknown>)[layoutKey];\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t\t!(layoutValue as Any).__lazy__\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tObject.assign(mergedLayoutData, layoutValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Object.keys(mergedLayoutData).length > 0) {\n\t\t\t\t\t\t\treturn mergedLayoutData as T | undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we encounter a __reroute_multiple__ object, it means it wasn't unpacked yet\n\t\t\t// Unpack it now and return undefined to trigger another render\n\t\t\t// __reroute_multiple__ should already be unpacked by RouterProvider or fetch logic\n\t\t\t// If we still encounter it here, just return undefined (this shouldn't happen in normal flow)\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\t(value as Any).__reroute_multiple__ === true\n\t\t\t) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Check if this is a lazy marker\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\t(value as Any).__lazy__ === true\n\t\t\t) {\n\t\t\t\t// console.log('[useData] Detected lazy marker for key:', k, 'value:', value);\n\t\t\t\tconst fetchUrl = (value as Any).__fetch__;\n\t\t\t\tif (typeof fetchUrl === 'string' && typeof window !== 'undefined') {\n\t\t\t\t\tconst w = window as Any;\n\t\t\t\t\t// Deduplicate fetches\n\t\t\t\t\tw.__REROUTE_LAZY_PENDING__ = w.__REROUTE_LAZY_PENDING__ || {};\n\t\t\t\t\tconst pending = w.__REROUTE_LAZY_PENDING__;\n\n\t\t\t\t\tif (!pending[k]) {\n\t\t\t\t\t\t// Start fetch and throw the promise\n\t\t\t\t\t\tconst fetchPromise = fetch(fetchUrl, {\n\t\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\t\t\tif (j) {\n\t\t\t\t\t\t\t\t\tconst payload = j.data ?? j;\n\t\t\t\t\t\t\t\t\t// Store the resolved data\n\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[k] = payload;\n\t\t\t\t\t\t\t\t\t// Notify\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { key: k },\n\t\t\t\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn j?.data;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tdelete pending[k];\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\tpending[k] = fetchPromise;\n\t\t\t\t\t\tthrow fetchPromise; // Trigger Suspense\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Re-throw the pending promise\n\t\t\t\t\t\tthrow pending[k];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Fallback: treat as undefined\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif (isThenable(value)) {\n\t\t\t\tthrow value;\n\t\t\t}\n\n\t\t\t// DEBUG: Final return value\n\t\t\t// if (typeof window !== 'undefined' && k === '/forum') {\n\t\t\t// \tconsole.log('[useData FINAL RETURN] returning:', value);\n\t\t\t// }\n\n\t\t\treturn value as T | undefined;\n\t\t} catch (error) {\n\t\t\t// Re-throw promises for React Suspense\n\t\t\tif (isThenable(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\t}, [k, _tick, pathname]);\n}\n",
|
|
12
|
+
"import { useEffect, useMemo, useState } from 'react';\nimport type { Any } from '../types/any';\nimport { useRouter } from './useRouter';\n\nconst isThenable = (value: unknown): value is Promise<unknown> => {\n\treturn (\n\t\ttypeof value === 'object' &&\n\t\tvalue !== null &&\n\t\ttypeof (value as { then?: unknown }).then === 'function'\n\t);\n};\n\n/**\n * Read SSR-seeded route data without loaders.\n * - On server: reads from globalThis.__REROUTE_DATA__\n * - On client: reads from window.__REROUTE_DATA__\n *\n * By default uses the current pathname as the key. You may pass a custom key\n * when seeding multiple entries.\n */\nexport function useData<T = unknown>(key?: string): T | undefined {\n\tconst router = useRouter();\n\tconst [_tick, setTick] = useState(0);\n\n\t// Include query string in the pathname for routes that use searchParams\n\t// Use state to track URL changes\n\tconst [currentUrl, setCurrentUrl] = useState(() =>\n\t\ttypeof window !== 'undefined'\n\t\t\t? window.location.pathname + window.location.search\n\t\t\t: router.pathname,\n\t);\n\n\t// Update currentUrl when router pathname changes\n\tuseEffect(() => {\n\t\tif (typeof window !== 'undefined') {\n\t\t\tconst newUrl = window.location.pathname + window.location.search;\n\t\t\tif (newUrl !== currentUrl) {\n\t\t\t\tsetCurrentUrl(newUrl);\n\t\t\t}\n\t\t}\n\t}, [currentUrl]);\n\n\tconst pathname = currentUrl;\n\tconst k = key || pathname;\n\n\t// DEBUG: Log what key we're using\n\t// if (typeof window !== 'undefined' && pathname === '/forum') {\n\t// \tconsole.log('[useData] key:', key, 'pathname:', pathname, 'k:', k);\n\t// }\n\n\t// Client-side hooks\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\tconst handler = (e: Event) => {\n\t\t\ttry {\n\t\t\t\tconst detail = (e as CustomEvent).detail as Any;\n\t\t\t\tconst keys: string[] = Array.isArray(detail?.keys)\n\t\t\t\t\t? detail.keys\n\t\t\t\t\t: detail?.key\n\t\t\t\t\t\t? [detail.key]\n\t\t\t\t\t\t: [];\n\t\t\t\tif (keys.length > 0 && !keys.includes(k)) return;\n\t\t\t\tsetTick((x) => x + 1);\n\t\t\t} catch {}\n\t\t};\n\t\twindow.addEventListener('__reroute_data__' as Any, handler as Any);\n\t\treturn () => {\n\t\t\ttry {\n\t\t\t\twindow.removeEventListener('__reroute_data__' as Any, handler as Any);\n\t\t\t} catch {}\n\t\t};\n\t}, [k]);\n\n\t// Client fallback: if there is no seeded data for this key after SPA navigation,\n\t// lazily fetch it from the server once. This covers static routes that still\n\t// export ssr.data (e.g., home page) without requiring link-time prefetch.\n\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Data prefetch and cache management\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\ttry {\n\t\t\tconst w = window as Any;\n\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\n\t\t\t// Check if the current key holds a __reroute_multiple__ object that needs unpacking\n\t\t\tconst currentValue = (w.__REROUTE_DATA__ as Any)[k];\n\n\t\t\tif (\n\t\t\t\tcurrentValue &&\n\t\t\t\ttypeof currentValue === 'object' &&\n\t\t\t\tcurrentValue.__reroute_multiple__ === true\n\t\t\t) {\n\t\t\t\t// Unpack the multiple sources into individual keys\n\t\t\t\tfor (const [key, value] of Object.entries(currentValue)) {\n\t\t\t\t\tif (key !== '__reroute_multiple__') {\n\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Delete the wrapper object - individual keys are now populated\n\t\t\t\tdelete (w.__REROUTE_DATA__ as Any)[k];\n\t\t\t\t// Trigger re-render\n\t\t\t\tsetTick((x) => x + 1);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst existingValue = (w.__REROUTE_DATA__ as Any)[k];\n\t\t\tif (existingValue !== undefined) {\n\t\t\t\t// SPECIAL CASE: If the existing value is a wrapper object containing only layout keys,\n\t\t\t\t// it means it was improperly stored - we need to unpack it\n\t\t\t\tif (typeof existingValue === 'object' && existingValue !== null) {\n\t\t\t\t\tconst keys = Object.keys(existingValue);\n\t\t\t\t\tconst hasOnlyLayoutKeys =\n\t\t\t\t\t\tkeys.length > 0 && keys.every((key) => key.startsWith('__layout:'));\n\n\t\t\t\t\tif (hasOnlyLayoutKeys) {\n\t\t\t\t\t\t// Don't return - continue to the unpacking logic below\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Strategy: If this looks like a data key (not a pathname), first try fetching\n\t\t\t// the current pathname. This handles routes that return flattened multi-key data.\n\t\t\t// If pathname fetch doesn't populate this key, fall back to fetching the key directly.\n\t\t\tconst isLikelyDataKey = !k.startsWith('/');\n\t\t\tconst pathToFetch = isLikelyDataKey ? pathname : k;\n\n\t\t\t// Deduplicate concurrent fetches for the same path\n\t\t\tw.__REROUTE_DATA_PENDING__ = w.__REROUTE_DATA_PENDING__ || ({} as Any);\n\t\t\tconst pending = w.__REROUTE_DATA_PENDING__;\n\t\t\tif (pending[pathToFetch]) {\n\t\t\t\t// Another hook is already fetching this path, wait for it\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Include current query string if fetching current pathname\n\t\t\tconst fetchPath = pathToFetch === pathname ? pathname : pathToFetch;\n\n\t\t\tconst fetchPromise = fetch(\n\t\t\t\t`/__reroute_data?path=${encodeURIComponent(fetchPath)}`,\n\t\t\t\t{\n\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t},\n\t\t\t)\n\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Response parsing and state updates\n\t\t\t\t.then((j) => {\n\t\t\t\t\tif (!j) return;\n\t\t\t\t\tconst payload = j.data ?? j;\n\n\t\t\t\t\t// Check if this is a multi-source response (layout + route)\n\t\t\t\t\tif (\n\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\tpayload.__reroute_multiple__ === true\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Multiple data sources: populate each at its specific key\n\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\tif (key !== '__reroute_multiple__') {\n\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t'[useData MUTATION 1] Setting',\n\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t'to',\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t'payload is:',\n\t\t\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t} else if (\n\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\t(payload.__reroute_flattened__ === true ||\n\t\t\t\t\t\t\tpayload.__flatten__ === true)\n\t\t\t\t\t) {\n\t\t\t\t\t\t// Flatten: populate each key individually\n\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\tif (key !== '__reroute_flattened__' && key !== '__flatten__') {\n\t\t\t\t\t\t\t\t// console.log('[useData MUTATION 2] Setting', key, 'to', value);\n\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Also store at pathname for consistency\n\t\t\t\t\t\tif (isLikelyDataKey) {\n\t\t\t\t\t\t\t// console.log(\n\t\t\t\t\t\t\t// \t'[useData MUTATION 3] Setting pathname',\n\t\t\t\t\t\t\t// \tpathname,\n\t\t\t\t\t\t\t// \t'to payload',\n\t\t\t\t\t\t\t// );\n\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = payload;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Check if payload contains layout keys that need unpacking\n\t\t\t\t\t\tif (typeof payload === 'object' && payload !== null) {\n\t\t\t\t\t\t\tconst layoutKeys = Object.keys(payload).filter((key) =>\n\t\t\t\t\t\t\t\tkey.startsWith('__layout:'),\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (layoutKeys.length > 0) {\n\t\t\t\t\t\t\t\t// We have layout keys - unpack them and also store at pathname\n\n\t\t\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\t\tif (key.startsWith('__layout:')) {\n\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 4] Setting layout key',\n\t\t\t\t\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\t\t\t\t\t'to',\n\t\t\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Also store at pathname if this was a pathname fetch\n\t\t\t\t\t\t\t\t// This allows useData() without key to work in layouts\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t!isLikelyDataKey &&\n\t\t\t\t\t\t\t\t\tlayoutKeys.length === Object.keys(payload).length\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// Check if we have only one layout key\n\t\t\t\t\t\t\t\t\tif (layoutKeys.length === 1) {\n\t\t\t\t\t\t\t\t\t\t// Single layout: store its value directly at pathname (preserving lazy markers)\n\t\t\t\t\t\t\t\t\t\tconst layoutValue = (payload as Record<string, unknown>)[\n\t\t\t\t\t\t\t\t\t\t\tlayoutKeys[0]\n\t\t\t\t\t\t\t\t\t\t];\n\n\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 5] Setting pathname',\n\t\t\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\t\t\t'to layoutValue',\n\t\t\t\t\t\t\t\t\t\t\tlayoutValue,\n\t\t\t\t\t\t\t\t\t\t\t'payload:',\n\t\t\t\t\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = layoutValue;\n\t\t\t\t\t\t\t\t\t\tkeys.push(pathname);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// Multiple layouts: merge them (but skip lazy markers as they can't be merged)\n\t\t\t\t\t\t\t\t\t\tconst mergedLayoutData: Record<string, unknown> = {};\n\n\t\t\t\t\t\t\t\t\t\tfor (const layoutKey of layoutKeys) {\n\t\t\t\t\t\t\t\t\t\t\tconst layoutValue = (payload as Record<string, unknown>)[\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutKey\n\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t\t\t\t\t\t!(layoutValue as Any).__lazy__\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(mergedLayoutData, layoutValue);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif (Object.keys(mergedLayoutData).length > 0) {\n\t\t\t\t\t\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t\t\t\t\t\t'[useData MUTATION 6] Setting pathname',\n\t\t\t\t\t\t\t\t\t\t\t\tpathname,\n\t\t\t\t\t\t\t\t\t\t\t\t'to mergedLayoutData',\n\t\t\t\t\t\t\t\t\t\t\t\tmergedLayoutData,\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[pathname] = mergedLayoutData;\n\t\t\t\t\t\t\t\t\t\t\tkeys.push(pathname);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Notify all affected keys\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Single key response (no layout keys)\n\t\t\t\t\t\tconst targetKey = isLikelyDataKey ? pathToFetch : k;\n\n\t\t\t\t\t\tconsole.log(\n\t\t\t\t\t\t\t'[useData MUTATION 7] Setting targetKey',\n\t\t\t\t\t\t\ttargetKey,\n\t\t\t\t\t\t\t'to payload',\n\t\t\t\t\t\t\tpayload,\n\t\t\t\t\t\t\t'k:',\n\t\t\t\t\t\t\tk,\n\t\t\t\t\t\t\t'pathToFetch:',\n\t\t\t\t\t\t\tpathToFetch,\n\t\t\t\t\t\t);\n\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[targetKey] = payload;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { key: targetKey },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Force a local re-render\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetTick((x) => x + 1);\n\t\t\t\t\t} catch {}\n\t\t\t\t})\n\t\t\t\t.catch(() => {})\n\t\t\t\t.finally(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdelete (w.__REROUTE_DATA_PENDING__ as Any)[pathToFetch];\n\t\t\t\t\t} catch {}\n\t\t\t\t});\n\n\t\t\t// Store the promise so components can throw it for Suspense\n\t\t\tpending[pathToFetch] = fetchPromise;\n\t\t} catch {}\n\t}, [k, pathname]);\n\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Pagination state management\n\treturn useMemo(() => {\n\t\ttry {\n\t\t\t_tick;\n\t\t\tconst source =\n\t\t\t\ttypeof window === 'undefined'\n\t\t\t\t\t? ((globalThis as Any).__REROUTE_DATA__ as Record<string, unknown>)\n\t\t\t\t\t: ((window as Any).__REROUTE_DATA__ as Record<string, unknown>);\n\n\t\t\tlet value = source?.[k] as T | Promise<T> | undefined;\n\n\t\t\t// If value is undefined on the client, throw a promise for Suspense\n\t\t\tif (value === undefined && typeof window !== 'undefined') {\n\t\t\t\tconst w = window as Any;\n\t\t\t\tw.__REROUTE_DATA_PENDING__ = w.__REROUTE_DATA_PENDING__ || {};\n\t\t\t\tconst pending = w.__REROUTE_DATA_PENDING__;\n\n\t\t\t\t// Check if there's already a pending fetch\n\t\t\t\tconst existingPromise = pending[k] || pending[pathname];\n\t\t\t\tif (existingPromise && typeof existingPromise !== 'boolean') {\n\t\t\t\t\tthrow existingPromise;\n\t\t\t\t}\n\n\t\t\t\t// No pending fetch - create one synchronously and throw it for Suspense\n\t\t\t\tconst fetchPath = k.startsWith('/') ? k : pathname;\n\t\t\t\tconst fetchPromise = fetch(\n\t\t\t\t\t`/__reroute_data?path=${encodeURIComponent(fetchPath)}`,\n\t\t\t\t\t{\n\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t},\n\t\t\t\t)\n\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Response parsing and state updates\n\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\tif (!j) return;\n\t\t\t\t\t\tconst raw = j.data ?? j;\n\t\t\t\t\t\t// Response may be nested: {\"/path\": {...actual data...}}\n\t\t\t\t\t\t// Extract actual data if it's wrapped under the pathname key\n\t\t\t\t\t\tconst payload =\n\t\t\t\t\t\t\ttypeof raw === 'object' &&\n\t\t\t\t\t\t\traw !== null &&\n\t\t\t\t\t\t\tfetchPath in raw &&\n\t\t\t\t\t\t\ttypeof raw[fetchPath] === 'object'\n\t\t\t\t\t\t\t\t? raw[fetchPath]\n\t\t\t\t\t\t\t\t: raw;\n\t\t\t\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[fetchPath] = payload;\n\t\t\t\t\t\t// Also flatten nested keys (e.g. level_0, level_1) to top level\n\t\t\t\t\t\t// so useData('level_0') can find them\n\t\t\t\t\t\tconst keys: string[] = [fetchPath];\n\t\t\t\t\t\tif (typeof payload === 'object' && payload !== null) {\n\t\t\t\t\t\t\tfor (const [subKey, subVal] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\tif (!(subKey.startsWith('/') || subKey.startsWith('__'))) {\n\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[subKey] = subVal;\n\t\t\t\t\t\t\t\t\tkeys.push(subKey);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} catch {}\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tdelete pending[fetchPath];\n\t\t\t\t\t});\n\n\t\t\t\tpending[fetchPath] = fetchPromise;\n\t\t\t\tthrow fetchPromise;\n\t\t\t}\n\n\t\t\t// DEBUG: Log what we're returning\n\t\t\t// if (typeof window !== 'undefined' && k === '/forum') {\n\t\t\t// \tconsole.log('[useData return] k:', k, 'value:', value, 'source:', source);\n\t\t\t// \tconsole.log('[useData return] value === source:', value === source);\n\t\t\t// }\n\n\t\t\t// BUGFIX: If value is incorrectly set to the entire source object, extract the correct key\n\t\t\tif (typeof value === 'object' && value !== null && value === source) {\n\t\t\t\t// console.warn('[useData] BUG DETECTED: value === source, extracting correct data for key:', k);\n\t\t\t\t// The entire __REROUTE_DATA__ was incorrectly stored at this key\n\t\t\t\t// Extract just this key's data if it exists as a nested property\n\t\t\t\tif (typeof source === 'object' && source !== null && k in source) {\n\t\t\t\t\tvalue = source[k] as T | Promise<T> | undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// BUGFIX: If value contains both layout keys and the current pathname, extract just the pathname's data\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\ttypeof k === 'string' &&\n\t\t\t\tk.startsWith('/') &&\n\t\t\t\ttypeof source === 'object' &&\n\t\t\t\tsource !== null\n\t\t\t) {\n\t\t\t\tconst valueKeys = Object.keys(value);\n\t\t\t\tconst hasLayoutKeys = valueKeys.some((key) =>\n\t\t\t\t\tkey.startsWith('__layout:'),\n\t\t\t\t);\n\t\t\t\tconst hasPathnameKey = k in value;\n\n\t\t\t\tif (hasLayoutKeys && hasPathnameKey) {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'[useData] BUG DETECTED: value contains both layout and pathname keys, extracting pathname data for:',\n\t\t\t\t\t\tk,\n\t\t\t\t\t);\n\t\t\t\t\t// Value incorrectly contains {__layout:/: {...}, /forum: {...}}\n\t\t\t\t\t// Extract just the pathname's data\n\t\t\t\t\tconst extractedValue = (value as Record<string, unknown>)[k];\n\t\t\t\t\tif (extractedValue !== undefined) {\n\t\t\t\t\t\tvalue = extractedValue as T | Promise<T> | undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// SPECIAL CASE: If value is a wrapper object with only layout keys, unwrap it\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\ttypeof window !== 'undefined'\n\t\t\t) {\n\t\t\t\tconst keys = Object.keys(value);\n\t\t\t\tconst layoutKeys = keys.filter((key) => key.startsWith('__layout:'));\n\n\t\t\t\tif (layoutKeys.length > 0 && layoutKeys.length === keys.length) {\n\t\t\t\t\t// Check if all layout values are lazy markers\n\t\t\t\t\tconst allLazy = layoutKeys.every((layoutKey) => {\n\t\t\t\t\t\tconst layoutValue = (value as Record<string, unknown>)[layoutKey];\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t(layoutValue as Any).__lazy__\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\n\t\t\t\t\tif (allLazy && layoutKeys.length === 1) {\n\t\t\t\t\t\t// Single lazy marker in wrapper - unwrap and continue processing\n\n\t\t\t\t\t\tconst lazyMarker = (value as Record<string, unknown>)[\n\t\t\t\t\t\t\tlayoutKeys[0]\n\t\t\t\t\t\t];\n\n\t\t\t\t\t\t// Replace value with unwrapped lazy marker and continue processing (NO MUTATIONS)\n\t\t\t\t\t\tvalue = lazyMarker as T | Promise<T> | undefined;\n\t\t\t\t\t} else if (!allLazy) {\n\t\t\t\t\t\t// Merge layout data from wrapper (NO MUTATIONS - just return merged data)\n\n\t\t\t\t\t\tconst mergedLayoutData: Record<string, unknown> = {};\n\t\t\t\t\t\tfor (const layoutKey of layoutKeys) {\n\t\t\t\t\t\t\tconst layoutValue = (value as Record<string, unknown>)[layoutKey];\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\ttypeof layoutValue === 'object' &&\n\t\t\t\t\t\t\t\tlayoutValue !== null &&\n\t\t\t\t\t\t\t\t!(layoutValue as Any).__lazy__\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tObject.assign(mergedLayoutData, layoutValue);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (Object.keys(mergedLayoutData).length > 0) {\n\t\t\t\t\t\t\treturn mergedLayoutData as T | undefined;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// If we encounter a __reroute_multiple__ object, it means it wasn't unpacked yet\n\t\t\t// Unpack it now and return undefined to trigger another render\n\t\t\t// __reroute_multiple__ should already be unpacked by RouterProvider or fetch logic\n\t\t\t// If we still encounter it here, just return undefined (this shouldn't happen in normal flow)\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\t(value as Any).__reroute_multiple__ === true\n\t\t\t) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\t// Check if this is a lazy marker\n\t\t\tif (\n\t\t\t\ttypeof value === 'object' &&\n\t\t\t\tvalue !== null &&\n\t\t\t\t(value as Any).__lazy__ === true\n\t\t\t) {\n\t\t\t\t// console.log('[useData] Detected lazy marker for key:', k, 'value:', value);\n\t\t\t\tconst fetchUrl = (value as Any).__fetch__;\n\t\t\t\tif (typeof fetchUrl === 'string' && typeof window !== 'undefined') {\n\t\t\t\t\tconst w = window as Any;\n\t\t\t\t\t// Deduplicate fetches\n\t\t\t\t\tw.__REROUTE_LAZY_PENDING__ = w.__REROUTE_LAZY_PENDING__ || {};\n\t\t\t\t\tconst pending = w.__REROUTE_LAZY_PENDING__;\n\n\t\t\t\t\tif (!pending[k]) {\n\t\t\t\t\t\t// Start fetch and throw the promise\n\t\t\t\t\t\tconst fetchPromise = fetch(fetchUrl, {\n\t\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\t\t\tif (j) {\n\t\t\t\t\t\t\t\t\tconst payload = j.data ?? j;\n\t\t\t\t\t\t\t\t\t// Store the resolved data\n\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[k] = payload;\n\t\t\t\t\t\t\t\t\t// Notify\n\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\tdetail: { key: k },\n\t\t\t\t\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn j?.data;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tdelete pending[k];\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\tpending[k] = fetchPromise;\n\t\t\t\t\t\tthrow fetchPromise; // Trigger Suspense\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Re-throw the pending promise\n\t\t\t\t\t\tthrow pending[k];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Fallback: treat as undefined\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tif (isThenable(value)) {\n\t\t\t\tthrow value;\n\t\t\t}\n\n\t\t\t// DEBUG: Final return value\n\t\t\t// if (typeof window !== 'undefined' && k === '/forum') {\n\t\t\t// \tconsole.log('[useData FINAL RETURN] returning:', value);\n\t\t\t// }\n\n\t\t\treturn value as T | undefined;\n\t\t} catch (error) {\n\t\t\t// Re-throw promises for React Suspense\n\t\t\tif (isThenable(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t}\n\t}, [k, _tick, pathname]);\n}\n",
|
|
13
13
|
"import { useContext } from 'react';\nimport { RouterContext } from '../providers';\nimport type { RouterContextFactory } from '../types/router';\n\n/**\n * Hook to access the router context.\n * Must be used within a RouterProvider.\n */\nexport function useRouter(): RouterContextFactory {\n\tconst context = useContext(RouterContext);\n\tif (!context) {\n\t\tthrow new Error('useRouter must be used within a RouterProvider');\n\t}\n\treturn context;\n}\n",
|
|
14
14
|
"import type { ReactNode } from 'react';\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseSyncExternalStore,\n} from 'react';\nimport { flushSync } from 'react-dom';\nimport { applyLang, applyPageMeta, applyRouteHead } from '../lib/head';\nimport type { Any } from '../types/any';\nimport type {\n\tNavigateOptions,\n\tRouteMatch,\n\tRouterContextFactory,\n} from '../types/router';\n\n// Check if we're in a browser environment\nconst isBrowser =\n\ttypeof window !== 'undefined' && typeof window.document !== 'undefined';\n\nconst OutletContext = createContext<ReactNode>(null);\nconst RouterContext = createContext<RouterContextFactory | null>(null);\n\n// Create a simple store for location changes\nlet listeners: Array<() => void> = [];\nlet currentLocation = isBrowser\n\t? {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t}\n\t: { pathname: '/', search: '', hash: '' };\n\ninterface RouterProviderProps {\n\tchildren?: ReactNode;\n\tlayouts?: readonly Any[];\n\tmatchRoute: (pathname: string) => RouteMatch | null;\n\tnotFoundRoutes?: readonly Any[];\n\tnotFound?: React.ComponentType;\n\tpathname?: string;\n\tsearchParams?: URLSearchParams;\n\tviewTransitions?: boolean;\n\tscrollRestoration?: boolean;\n}\n\nfunction subscribe(listener: () => void) {\n\tif (!isBrowser) return () => {};\n\tlisteners.push(listener);\n\treturn () => {\n\t\tlisteners = listeners.filter((l) => l !== listener);\n\t};\n}\n\nfunction getSnapshot() {\n\treturn currentLocation;\n}\n\nfunction emitChange() {\n\tfor (const listener of listeners) {\n\t\tlistener();\n\t}\n}\n\n// Helper to check if view transitions are supported\nconst supportsViewTransitions =\n\ttypeof document !== 'undefined' && 'startViewTransition' in document;\n\n// Global flag to track if view transitions are enabled\nlet viewTransitionsEnabled = false;\n\nfunction setViewTransitionsEnabled(enabled: boolean) {\n\tviewTransitionsEnabled = enabled && supportsViewTransitions;\n}\n\n// Global flag to track if scroll restoration is enabled\nlet scrollRestorationEnabled = true;\n\nfunction setScrollRestorationEnabled(enabled: boolean) {\n\tscrollRestorationEnabled = enabled;\n}\n\n// Store scroll positions for each path for restoration on back/forward\nconst scrollPositions = new Map<string, { x: number; y: number }>();\n\n// Helper to check if page has named view transition elements\nfunction hasViewTransitionNames(): boolean {\n\tif (!isBrowser) return false;\n\ttry {\n\t\t// Check if any element has view-transition-name set (including via CSS)\n\t\tconst allElements = document.querySelectorAll('*');\n\t\tfor (const el of allElements) {\n\t\t\tconst computedStyle = window.getComputedStyle(el);\n\t\t\tconst transitionName = computedStyle.viewTransitionName;\n\t\t\tif (transitionName && transitionName !== 'none') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction navigateInternal(to: string, options: NavigateOptions = {}) {\n\tif (!isBrowser) return;\n\n\tconst url = new URL(to, window.location.origin);\n\n\tif (url.origin !== window.location.origin) {\n\t\t// External link\n\t\twindow.location.href = to;\n\t\treturn;\n\t}\n\n\tconst newPath = url.pathname + url.search + url.hash;\n\tconst currentPath =\n\t\twindow.location.pathname + window.location.search + window.location.hash;\n\n\tif (newPath === currentPath) return;\n\n\t// Save current scroll position before navigating away\n\tif (scrollRestorationEnabled) {\n\t\tscrollPositions.set(currentPath, {\n\t\t\tx: window.scrollX,\n\t\t\ty: window.scrollY,\n\t\t});\n\t}\n\n\tif (options.replace) {\n\t\twindow.history.replaceState(options.state || null, '', to);\n\t} else {\n\t\twindow.history.pushState(options.state || null, '', to);\n\t}\n\n\tconst updateState = () => {\n\t\tcurrentLocation = {\n\t\t\tpathname: url.pathname,\n\t\t\tsearch: url.search,\n\t\t\thash: url.hash,\n\t\t};\n\t\temitChange();\n\t};\n\n\t// Only use view transitions if enabled AND page has named transition elements\n\tconst shouldUseViewTransition =\n\t\tviewTransitionsEnabled && hasViewTransitionNames();\n\n\tif (shouldUseViewTransition) {\n\t\tdocument.startViewTransition(() => {\n\t\t\tflushSync(() => {\n\t\t\t\tupdateState();\n\t\t\t\t// For view transitions, adjust scroll inside the transition callback so\n\t\t\t\t// the old snapshot keeps its current scroll position while the new page\n\t\t\t\t// is captured at the desired position.\n\t\t\t\tif (url.hash) {\n\t\t\t\t\tconst immediate = document.querySelector(url.hash);\n\t\t\t\t\tif (immediate) {\n\t\t\t\t\t\timmediate.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet attempts = 0;\n\t\t\t\t\t\tconst maxAttempts = 10;\n\t\t\t\t\t\tconst tryScroll = () => {\n\t\t\t\t\t\t\tconst el = document.querySelector(url.hash);\n\t\t\t\t\t\t\tif (el) {\n\t\t\t\t\t\t\t\tel.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t\t\t} else if (attempts < maxAttempts) {\n\t\t\t\t\t\t\t\tattempts++;\n\t\t\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\twindow.scrollTo({ top: 0, left: 0, behavior: 'instant' });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tupdateState();\n\t\t// Handle scrolling after the DOM updates (non-view-transition only)\n\t\trequestAnimationFrame(() => {\n\t\t\tif (url.hash) {\n\t\t\t\t// Try to scroll to the fragment with retries for slow-rendering components\n\t\t\t\tlet attempts = 0;\n\t\t\t\tconst maxAttempts = 10;\n\t\t\t\tconst tryScroll = () => {\n\t\t\t\t\tconst element = document.querySelector(url.hash);\n\t\t\t\t\tif (element) {\n\t\t\t\t\t\telement.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t} else if (attempts < maxAttempts) {\n\t\t\t\t\t\tattempts++;\n\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\ttryScroll();\n\t\t\t} else {\n\t\t\t\t// Scroll to top for forward navigation - happens after new page renders\n\t\t\t\twindow.scrollTo({ top: 0, left: 0, behavior: 'instant' });\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * RouterProvider component that manages client-side routing with SSR support.\n * Uses React's useSyncExternalStore for proper hydration without mismatches.\n */\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Router state management with history API\nfunction RouterProvider({\n\tchildren,\n\tlayouts = [],\n\tmatchRoute,\n\tnotFoundRoutes = [],\n\tnotFound: NotFound,\n\tpathname = '/',\n\tsearchParams: ssrSearchParams,\n\tviewTransitions = true,\n\tscrollRestoration = true,\n}: RouterProviderProps) {\n\t// Set global view transitions and scroll restoration flags\n\tuseEffect(() => {\n\t\tsetViewTransitionsEnabled(viewTransitions);\n\t\tsetScrollRestorationEnabled(scrollRestoration);\n\t\t// Disable browser's automatic scroll restoration\n\t\tif (isBrowser && 'scrollRestoration' in window.history) {\n\t\t\twindow.history.scrollRestoration = 'manual';\n\t\t}\n\t}, [viewTransitions, scrollRestoration]);\n\t// Create stable server snapshot reference that never changes\n\tconst serverSnapshotRef = React.useRef<{\n\t\tpathname: string;\n\t\tsearch: string;\n\t\thash: string;\n\t} | null>(null);\n\n\tif (!serverSnapshotRef.current) {\n\t\tif (isBrowser) {\n\t\t\t// During hydration, point to the exact same object reference\n\t\t\t// that getSnapshot() returns so useSyncExternalStore doesn't\n\t\t\t// detect a mismatch and trigger a second render.\n\t\t\tserverSnapshotRef.current = currentLocation;\n\t\t} else {\n\t\t\t// During pure SSR, use the pathname and searchParams from props\n\t\t\t// Extract hash from pathname if present (e.g., \"/path#hash\")\n\t\t\tconst hIdx = pathname.indexOf('#');\n\t\t\tlet pathOnly = pathname;\n\t\t\tlet hash = '';\n\n\t\t\tif (hIdx !== -1) {\n\t\t\t\tpathOnly = pathname.slice(0, hIdx);\n\t\t\t\thash = pathname.slice(hIdx);\n\t\t\t}\n\n\t\t\t// Use provided searchParams if available, otherwise try to parse from pathname\n\t\t\tlet search = '';\n\t\t\tif (ssrSearchParams) {\n\t\t\t\tconst searchString = ssrSearchParams.toString();\n\t\t\t\tsearch = searchString ? `?${searchString}` : '';\n\t\t\t} else {\n\t\t\t\t// Fallback: extract search from pathname if present\n\t\t\t\tconst qIdx = pathOnly.indexOf('?');\n\t\t\t\tif (qIdx !== -1) {\n\t\t\t\t\tsearch = pathOnly.slice(qIdx);\n\t\t\t\t\tpathOnly = pathOnly.slice(0, qIdx);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tserverSnapshotRef.current = { pathname: pathOnly, search, hash };\n\t\t}\n\t}\n\n\t// Return the same cached snapshot object every time\n\tconst getServerSnapshot = useCallback(() => serverSnapshotRef.current, []);\n\n\t// Use useSyncExternalStore for proper SSR hydration\n\tconst location =\n\t\tuseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) ||\n\t\tcurrentLocation;\n\n\t// Initialize location on mount (client-side only)\n\t// Avoid emitting a change if nothing actually changed to prevent a redundant re-render after hydration\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\t\tconst next = {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t};\n\t\tif (\n\t\t\tcurrentLocation.pathname !== next.pathname ||\n\t\t\tcurrentLocation.search !== next.search ||\n\t\t\tcurrentLocation.hash !== next.hash\n\t\t) {\n\t\t\tcurrentLocation = next;\n\t\t\temitChange();\n\t\t}\n\t}, []);\n\n\tconst target = useMemo(\n\t\t() => matchRoute(location.pathname),\n\t\t[location.pathname, matchRoute],\n\t);\n\n\tconst params = target?.params || {};\n\tconst searchParams = useMemo(\n\t\t() => new URLSearchParams(location.search),\n\t\t[location.search],\n\t);\n\n\tconst navigate = useCallback((to: string, options: NavigateOptions = {}) => {\n\t\tnavigateInternal(to, options);\n\t}, []);\n\n\t// Handle browser back/forward\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\n\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Navigation handling with prefetch\n\t\tconst handlePopState = () => {\n\t\t\tconst next = {\n\t\t\t\tpathname: window.location.pathname,\n\t\t\t\tsearch: window.location.search,\n\t\t\t\thash: window.location.hash,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst w = window as Any;\n\t\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\t\t\t\tconst have = (w.__REROUTE_DATA__ as Any)[next.pathname];\n\t\t\t\t// Only prefetch for dynamic routes; static/content pages don't need it\n\t\t\t\tconst isDynamic = !!matchRoute?.(next.pathname)?.route?.isDynamic;\n\t\t\t\tif (isDynamic && have === undefined) {\n\t\t\t\t\tlet updated = false;\n\t\t\t\t\tconst fallback = setTimeout(() => {\n\t\t\t\t\t\tif (updated) return;\n\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\temitChange();\n\t\t\t\t\t}, 250);\n\t\t\t\t\tfetch(`/__reroute_data?path=${encodeURIComponent(next.pathname)}`, {\n\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t})\n\t\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Data fetching with caching\n\t\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst payload = j ? (j.data ?? j) : undefined;\n\t\t\t\t\t\t\t\tif (payload !== undefined) {\n\t\t\t\t\t\t\t\t\t// Check if this is a multi-source response (layout + route)\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\t\t\t\t\tpayload.__reroute_multiple__ === true\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Multiple data sources: populate each at its specific key\n\t\t\t\t\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\t\t\t\tif (key !== '__reroute_multiple__') {\n\t\t\t\t\t\t\t\t\t\t\t\t// Check if this value needs flattening\n\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\ttypeof value === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue !== null &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t(value as Any).__flatten__\n\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Flatten this nested object\n\t\t\t\t\t\t\t\t\t\t\t\t\tfor (const [subKey, subValue] of Object.entries(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue as Record<string, unknown>,\n\t\t\t\t\t\t\t\t\t\t\t\t\t)) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (subKey !== '__flatten__') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// Store all values including lazy markers\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[subKey] = subValue;\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkeys.push(subKey);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { keys },\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\t\t\t\t\t(payload.__reroute_flattened__ === true ||\n\t\t\t\t\t\t\t\t\t\t\tpayload.__flatten__ === true)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Flatten: populate each key individually\n\t\t\t\t\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tkey !== '__reroute_flattened__' &&\n\t\t\t\t\t\t\t\t\t\t\t\tkey !== '__flatten__'\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t// Store all values including lazy markers\n\t\t\t\t\t\t\t\t\t\t\t\t// useData will detect and fetch lazy markers on demand\n\t\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t// Also store at pathname for consistency\n\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[next.pathname] = payload;\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { keys: [...keys, next.pathname] },\n\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t// Single key response\n\t\t\t\t\t\t\t\t\t\t// Check if this single response needs flattening\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\ttypeof payload === 'object' &&\n\t\t\t\t\t\t\t\t\t\t\tpayload !== null &&\n\t\t\t\t\t\t\t\t\t\t\t(payload as Any).__flatten__ === true\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t// Flatten this data into individual keys\n\t\t\t\t\t\t\t\t\t\t\tconst keys: string[] = [];\n\t\t\t\t\t\t\t\t\t\t\tfor (const [key, value] of Object.entries(payload)) {\n\t\t\t\t\t\t\t\t\t\t\t\tif (key !== '__flatten__') {\n\t\t\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[key] = value;\n\t\t\t\t\t\t\t\t\t\t\t\t\tkeys.push(key);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t// Also store at pathname\n\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[next.pathname] = payload;\n\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { keys: [...keys, next.pathname] },\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t// Regular single key response\n\t\t\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[next.pathname] = payload;\n\t\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdetail: { key: next.pathname },\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {})\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tif (!updated) {\n\t\t\t\t\t\t\t\tclearTimeout(fallback);\n\t\t\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\t\t\temitChange();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\treturn; // we'll update after prefetch or fallback timer\n\t\t\t\t}\n\t\t\t} catch {}\n\n\t\t\tconst updateState = () => {\n\t\t\t\tcurrentLocation = next;\n\t\t\t\temitChange();\n\t\t\t};\n\n\t\t\t// Only use view transitions if enabled AND page has named transition elements\n\t\t\tconst shouldUseViewTransition =\n\t\t\t\tviewTransitionsEnabled && hasViewTransitionNames();\n\n\t\t\tif (shouldUseViewTransition) {\n\t\t\t\t(document as Any).startViewTransition(() => {\n\t\t\t\t\tflushSync(() => {\n\t\t\t\t\t\tupdateState();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState();\n\t\t\t}\n\n\t\t\t// Restore scroll position for back/forward navigation\n\t\t\tif (scrollRestorationEnabled) {\n\t\t\t\tconst nextPath = next.pathname + next.search + next.hash;\n\t\t\t\tconst savedPosition = scrollPositions.get(nextPath);\n\n\t\t\t\t// Wait for DOM to settle and view transition to complete\n\t\t\t\tconst restoreScroll = () => {\n\t\t\t\t\tif (next.hash) {\n\t\t\t\t\t\t// Handle hash navigation\n\t\t\t\t\t\tconst element = document.querySelector(next.hash);\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\telement.scrollIntoView({ behavior: 'smooth' });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (savedPosition) {\n\t\t\t\t\t\t// Restore saved scroll position\n\t\t\t\t\t\twindow.scrollTo({\n\t\t\t\t\t\t\ttop: savedPosition.y,\n\t\t\t\t\t\t\tleft: savedPosition.x,\n\t\t\t\t\t\t\tbehavior: 'instant',\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t// If no saved position and no hash, keep current scroll (don't reset to top)\n\t\t\t\t};\n\n\t\t\t\tif (shouldUseViewTransition) {\n\t\t\t\t\t// Double rAF to ensure view transition has started rendering\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\trequestAnimationFrame(restoreScroll);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\trequestAnimationFrame(restoreScroll);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('popstate', handlePopState);\n\t\treturn () => window.removeEventListener('popstate', handlePopState);\n\t}, [matchRoute]);\n\n\t// Apply route-level meta/ssr if exported by the route module (non-content pages)\n\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Route metadata extraction is complex\n\tuseEffect(() => {\n\t\tconst route: Any = target?.route as Any;\n\t\tif (!route) return;\n\t\ttry {\n\t\t\tif (route.meta) applyPageMeta(route.meta);\n\t\t} catch {}\n\t\ttry {\n\t\t\tconst ssr = route.ssr;\n\t\t\tif (ssr?.head) {\n\t\t\t\t// If head is a function, call it with data from global SSR data\n\t\t\t\tif (typeof ssr.head === 'function') {\n\t\t\t\t\tconst g = globalThis as Any;\n\t\t\t\t\tconst ssrData = g.__REROUTE_DATA__ || {};\n\t\t\t\t\tconst routeData = ssrData[pathname];\n\t\t\t\t\t// Only call if data is available and not a Promise\n\t\t\t\t\tif (routeData && typeof routeData !== 'object') {\n\t\t\t\t\t\tapplyRouteHead(ssr.head({ data: routeData }));\n\t\t\t\t\t} else if (\n\t\t\t\t\t\trouteData &&\n\t\t\t\t\t\ttypeof routeData === 'object' &&\n\t\t\t\t\t\t!('then' in routeData)\n\t\t\t\t\t) {\n\t\t\t\t\t\tapplyRouteHead(ssr.head({ data: routeData }));\n\t\t\t\t\t}\n\t\t\t\t\t// If data is still a Promise or undefined, don't apply - server already handled it\n\t\t\t\t} else {\n\t\t\t\t\tapplyRouteHead(ssr.head);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (ssr?.lang) applyLang(ssr.lang);\n\t\t} catch {}\n\t\treturn () => {\n\t\t\t// Clear previously injected route-level head items\n\t\t\tapplyRouteHead(undefined);\n\t\t};\n\t}, [target, pathname]);\n\n\tconst notFoundResolver = useCallback(\n\t\t(pathname: string) => {\n\t\t\ttry {\n\t\t\t\t// Choose the most specific notFound whose pattern is a prefix of pathname\n\t\t\t\tconst list = Array.isArray(notFoundRoutes)\n\t\t\t\t\t? (notFoundRoutes as Any[])\n\t\t\t\t\t: [];\n\t\t\t\tlet chosen: Any | undefined;\n\t\t\t\tlet bestLen = -1;\n\t\t\t\tfor (const nf of list) {\n\t\t\t\t\tconst pat = String(nf?.pattern || '/');\n\t\t\t\t\tif (!pathname.startsWith(pat)) continue;\n\t\t\t\t\tconst len = pat.split('/').filter(Boolean).length;\n\t\t\t\t\tif (len >= bestLen) {\n\t\t\t\t\t\tbestLen = len;\n\t\t\t\t\t\tchosen = nf;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn chosen?.component as Any | undefined;\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t\t[notFoundRoutes],\n\t);\n\n\tconst contextValue = useMemo<RouterContextFactory>(\n\t\t() =>\n\t\t\t({\n\t\t\t\tpathname: location.pathname,\n\t\t\t\tparams,\n\t\t\t\tsearchParams,\n\t\t\t\tnavigate,\n\t\t\t\ttarget,\n\t\t\t\tmatchRoute,\n\t\t\t\tnotFoundResolver,\n\t\t\t}) as Any,\n\t\t[\n\t\t\tlocation.pathname,\n\t\t\tparams,\n\t\t\tsearchParams,\n\t\t\tnavigate,\n\t\t\ttarget,\n\t\t\tmatchRoute,\n\t\t\tnotFoundResolver,\n\t\t],\n\t);\n\n\t// Find matching layouts for the current pathname\n\tconst matchingLayouts = useMemo(() => {\n\t\treturn layouts\n\t\t\t.filter((layout: Any) => {\n\t\t\t\t// Layout matches if the current path starts with the layout's path\n\t\t\t\tif (layout.pattern === '/') return true;\n\t\t\t\treturn location.pathname.startsWith(layout.pattern);\n\t\t\t})\n\t\t\t.sort((a: Any, b: Any) => {\n\t\t\t\t// Sort by depth (shallow first) since we wrap from innermost to outermost\n\t\t\t\t// This ensures root layouts are outermost, specific layouts are innermost\n\t\t\t\treturn (\n\t\t\t\t\ta.pattern.split('/').filter(Boolean).length -\n\t\t\t\t\tb.pattern.split('/').filter(Boolean).length\n\t\t\t\t);\n\t\t\t});\n\t}, [layouts, location.pathname]);\n\n\tlet content: ReactNode;\n\n\tif (target) {\n\t\tconst Component = target.route.component;\n\t\tlet outletContent: ReactNode = <Component />;\n\n\t\t// Build layout hierarchy from innermost to outermost\n\t\tfor (let i = matchingLayouts.length - 1; i >= 0; i--) {\n\t\t\tconst Layout = matchingLayouts[i].component;\n\t\t\tconst currentOutlet = outletContent;\n\t\t\toutletContent = (\n\t\t\t\t<OutletContext.Provider value={currentOutlet}>\n\t\t\t\t\t<Layout />\n\t\t\t\t</OutletContext.Provider>\n\t\t\t);\n\t\t}\n\n\t\tcontent = outletContent;\n\t} else {\n\t\tconst Fallback = (notFoundResolver(location.pathname) as Any) || NotFound;\n\t\tif (Fallback) {\n\t\t\tcontent = <Fallback />;\n\t\t} else {\n\t\t\tcontent = (\n\t\t\t\t<div style={{ padding: '2rem', textAlign: 'center' }}>\n\t\t\t\t\t<h1>404 - Page Not Found</h1>\n\t\t\t\t\t<p>The page {location.pathname} could not be found.</p>\n\t\t\t\t\t<a href='/'>Go Home</a>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<RouterContext.Provider value={contextValue}>\n\t\t\t{children || content}\n\t\t</RouterContext.Provider>\n\t);\n}\n\nexport { OutletContext, RouterContext, RouterProvider };\n",
|
|
15
15
|
"import type { Any } from '../types/any';\n\nconst HEAD_ATTR = 'data-reroute-ssr-head';\nconst HEAD_ATTR_ROUTE = 'data-reroute-route-head';\n\nfunction isBrowser(): boolean {\n\treturn typeof document !== 'undefined' && typeof window !== 'undefined';\n}\n\nexport function applyPageMeta(meta: Any | undefined): void {\n\tif (!(isBrowser() && meta) || typeof meta !== 'object') return;\n\ttry {\n\t\tconst title = typeof meta.title === 'string' ? meta.title : undefined;\n\t\tconst description =\n\t\t\ttypeof (meta as Any).description === 'string'\n\t\t\t\t? (meta as Any).description\n\t\t\t\t: typeof (meta as Any).excerpt === 'string'\n\t\t\t\t\t? (meta as Any).excerpt\n\t\t\t\t\t: undefined;\n\n\t\tif (title) document.title = title;\n\n\t\tif (description) {\n\t\t\tlet tag = document.head.querySelector(\n\t\t\t\t'meta[name=\"description\"]',\n\t\t\t) as HTMLMetaElement | null;\n\t\t\tif (!tag) {\n\t\t\t\ttag = document.createElement('meta');\n\t\t\t\ttag.setAttribute('name', 'description');\n\t\t\t\tdocument.head.appendChild(tag);\n\t\t\t}\n\t\t\ttag.setAttribute('content', description);\n\t\t}\n\t} catch {}\n}\n\nexport function applyLang(lang: Any | undefined): void {\n\tif (!isBrowser()) return;\n\tif (typeof lang === 'string' && lang.trim()) {\n\t\ttry {\n\t\t\tdocument.documentElement.lang = lang.trim();\n\t\t} catch {}\n\t}\n}\n\n/**\n * Check if an equivalent meta tag already exists in the head\n */\nfunction metaTagExists(el: Element): boolean {\n\tif (el.tagName !== 'META') return false;\n\n\tconst name = el.getAttribute('name');\n\tconst property = el.getAttribute('property');\n\tconst content = el.getAttribute('content');\n\n\t// Build selector for existing tag\n\tlet selector = 'meta';\n\tif (name) selector += `[name=\"${name}\"]`;\n\tif (property) selector += `[property=\"${property}\"]`;\n\n\tconst existing = document.head.querySelector(selector);\n\tif (!existing) return false;\n\n\t// Check if content matches\n\treturn existing.getAttribute('content') === content;\n}\n\nexport function applySsrHead(head: Any | undefined): void {\n\tif (!isBrowser()) return;\n\ttry {\n\t\t// Remove previous injected nodes\n\t\tdocument.querySelectorAll(`[${HEAD_ATTR}]`).forEach((n) => {\n\t\t\tn.parentElement?.removeChild(n);\n\t\t});\n\n\t\tif (!head) return;\n\n\t\tconst parts: string[] = Array.isArray(head)\n\t\t\t? (head as Any[]).map((x) => String(x))\n\t\t\t: [String(head)];\n\t\tconst html = parts\n\t\t\t.map((p) => (typeof p === 'string' ? p : String(p)))\n\t\t\t.join('\\n');\n\t\tif (!html.trim()) return;\n\n\t\tconst tpl = document.createElement('template');\n\t\ttpl.innerHTML = html;\n\t\tconst nodes = Array.from(tpl.content.childNodes);\n\t\tfor (const node of nodes) {\n\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst el = node as Element;\n\t\t\t\t// Skip if an equivalent meta tag already exists (from SSR)\n\t\t\t\tif (metaTagExists(el)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tel.setAttribute(HEAD_ATTR, '');\n\t\t\t\tdocument.head.appendChild(node);\n\t\t\t}\n\t\t}\n\t} catch {}\n}\n\nexport function applyRouteHead(head: Any | undefined): void {\n\tif (!isBrowser()) return;\n\ttry {\n\t\t// Remove previous injected nodes for route-level head\n\t\tdocument.querySelectorAll(`[${HEAD_ATTR_ROUTE}]`).forEach((n) => {\n\t\t\tn.parentElement?.removeChild(n);\n\t\t});\n\n\t\tif (!head) return;\n\n\t\tconst parts: string[] = Array.isArray(head)\n\t\t\t? (head as Any[]).map((x) => String(x))\n\t\t\t: [String(head)];\n\t\tconst html = parts\n\t\t\t.map((p) => (typeof p === 'string' ? p : String(p)))\n\t\t\t.join('\\n');\n\t\tif (!html.trim()) return;\n\n\t\tconst tpl = document.createElement('template');\n\t\ttpl.innerHTML = html;\n\t\tconst nodes = Array.from(tpl.content.childNodes);\n\t\tfor (const node of nodes) {\n\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\tconst el = node as Element;\n\t\t\t\t// Skip if an equivalent meta tag already exists (from SSR)\n\t\t\t\tif (metaTagExists(el)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tel.setAttribute(HEAD_ATTR_ROUTE, '');\n\t\t\t\tdocument.head.appendChild(node);\n\t\t\t}\n\t\t}\n\t} catch {}\n}\n",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"import type { Any } from '../types/any';\n\nexport interface SearchHeading {\n\tlevel: number;\n\ttext: string;\n\tslug: string;\n}\n\nexport interface CollectionSearchResult {\n\ttotal: number;\n\tpage: number;\n\tpageSize: number;\n\ttotalPages: number;\n\tresults: Array<{\n\t\tid: string;\n\t\tcollection: string;\n\t\tslug: string;\n\t\thref: string;\n\t\ttitle: string;\n\t\texcerpt?: string;\n\t\t/** Headings that matched the search query */\n\t\tmatchedHeadings?: SearchHeading[];\n\t}>;\n}\n\n/**\n * Search content collections during SSR\n *\n * Loads the search index and performs search during SSR.\n * Returns null if no query or no results.\n *\n * @example\n * ```tsx\n * import { collectionSearch } from 'reroute-js/react';\n *\n * const ssr = {\n * async data({ searchParams }) {\n * return await collectionSearch({ searchParams });\n * }\n * };\n * ```\n */\nexport async function collectionSearch(options: {\n\tsearchParams?: URLSearchParams;\n\tpage?: number;\n\tpageSize?: number;\n}): Promise<CollectionSearchResult | null> {\n\tconst { searchParams, page = 1, pageSize = 20 } = options;\n\tconst query = searchParams?.get('q');\n\n\tif (!query) return null;\n\n\ttry {\n\t\t// Load search index directly during SSR\n\t\tconst { join } = await import('node:path');\n\t\tconst cwd =\n\t\t\ttypeof process !== 'undefined' && typeof process.cwd === 'function'\n\t\t\t\t? process.cwd()\n\t\t\t\t: '/';\n\t\tconst indexPath = join(cwd, '.reroute', 'search.json');\n\n\t\tconst file = Bun.file(indexPath);\n\t\tif (!(await file.exists())) return null;\n\n\t\tconst indexData = JSON.parse(await file.text());\n\t\tconst entries = indexData.entries || [];\n\n\t\t// Parse search terms\n\t\tconst terms = query\n\t\t\t.toLowerCase()\n\t\t\t.split(/\\s+/)\n\t\t\t.filter((t: string) => t.length > 1);\n\t\tif (terms.length === 0) return null;\n\n\t\t// Parse collection filter\n\t\tconst collectionsFilter = searchParams\n\t\t\t?.get('collections')\n\t\t\t?.split(',')\n\t\t\t.filter(Boolean);\n\n\t\t// Score and rank entries\n\t\tconst scored = entries\n\t\t\t.filter((entry: Any) => {\n\t\t\t\tif (collectionsFilter && collectionsFilter.length > 0) {\n\t\t\t\t\treturn collectionsFilter.includes(entry.collection);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: Collection management with caching and filtering\n\t\t\t.map((entry: Any) => {\n\t\t\t\tlet score = 0;\n\t\t\t\tconst matchedHeadings: SearchHeading[] = [];\n\n\t\t\t\tfor (const term of terms) {\n\t\t\t\t\t// Title match (highest weight)\n\t\t\t\t\tif (entry.title.toLowerCase().includes(term)) {\n\t\t\t\t\t\tscore += 10;\n\t\t\t\t\t\tif (entry.title.toLowerCase() === term) score += 20;\n\t\t\t\t\t}\n\t\t\t\t\t// Heading matches - also collect matched headings\n\t\t\t\t\tfor (const heading of entry.headings || []) {\n\t\t\t\t\t\tif (heading.text.toLowerCase().includes(term)) {\n\t\t\t\t\t\t\tscore += 5;\n\t\t\t\t\t\t\t// Only add each heading once\n\t\t\t\t\t\t\tif (!matchedHeadings.some((h) => h.slug === heading.slug)) {\n\t\t\t\t\t\t\t\tmatchedHeadings.push({\n\t\t\t\t\t\t\t\t\tlevel: heading.level,\n\t\t\t\t\t\t\t\t\ttext: heading.text,\n\t\t\t\t\t\t\t\t\tslug: heading.slug,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Meta field matches\n\t\t\t\t\tfor (const value of Object.values(entry.meta || {})) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof value === 'string' &&\n\t\t\t\t\t\t\tvalue.toLowerCase().includes(term)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tscore += 3;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t// Content match (if indexed)\n\t\t\t\t\tif (entry.content?.toLowerCase().includes(term)) {\n\t\t\t\t\t\tscore += 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn { entry, score, matchedHeadings };\n\t\t\t})\n\t\t\t.filter((item: Any) => item.score > 0)\n\t\t\t.sort((a: Any, b: Any) => b.score - a.score);\n\n\t\t// Calculate pagination\n\t\tconst total = scored.length;\n\t\tconst startIndex = (page - 1) * pageSize;\n\t\tconst endIndex = startIndex + pageSize;\n\t\tconst paginatedScored = scored.slice(startIndex, endIndex);\n\t\tconst totalPages = Math.ceil(total / pageSize);\n\n\t\t// Map to concise result format\n\t\tconst results = paginatedScored.map((item: Any) => ({\n\t\t\tid: item.entry.id,\n\t\t\tcollection: item.entry.collection,\n\t\t\tslug: item.entry.slug,\n\t\t\thref: item.entry.href,\n\t\t\ttitle: item.entry.title,\n\t\t\texcerpt:\n\t\t\t\titem.entry.excerpt ||\n\t\t\t\tString(\n\t\t\t\t\titem.entry.meta.excerpt || item.entry.meta.description || '',\n\t\t\t\t).slice(0, 160),\n\t\t\tmatchedHeadings: item.matchedHeadings,\n\t\t}));\n\n\t\treturn {\n\t\t\ttotal,\n\t\t\tpage,\n\t\t\tpageSize,\n\t\t\ttotalPages,\n\t\t\tresults,\n\t\t};\n\t} catch (error) {\n\t\tconsole.error('[serverSearch] Error:', error);\n\t\treturn null;\n\t}\n}\n",
|
|
29
29
|
"import type { ComponentType } from 'react';\nimport type { Any } from '../types/any';\n\n/**\n * Check if we're in a browser environment\n */\nconst isBrowser = typeof window !== 'undefined';\n\n/**\n * Creates a route component that:\n * - Loads synchronously during SSR and hydration\n * - Lazy loads for subsequent client-side navigation\n *\n * This approach ensures no hydration mismatches by always using eager components\n * for the initial render, and only using lazy loading for subsequent navigations.\n */\nexport function createLazyRoute(\n\t/**\n\t * Eager import of the route component (for SSR and initial hydration)\n\t */\n\teagerComponent: ComponentType<Any>,\n\t/**\n\t * Function that returns a dynamic import promise (for lazy loading)\n\t */\n\t_lazyImport: () => Promise<{ default: ComponentType<Any> }>,\n\t/**\n\t * The route pattern for cache key\n\t */\n\t_routePattern: string,\n): ComponentType<Any> {\n\t// For server-side rendering, always return the eager component\n\tif (!isBrowser) {\n\t\treturn eagerComponent;\n\t}\n\n\t// On the client, use the eager component for now\n\t// TODO: Implement proper lazy loading after hydration is complete\n\t// For now, this ensures SSR works correctly without hydration errors\n\treturn eagerComponent;\n}\n\n/**\n * Preload a route component before navigation\n */\nexport async function preloadRoute(\n\tlazyImport: () => Promise<{ default: ComponentType<Any> }>,\n): Promise<void> {\n\ttry {\n\t\tawait lazyImport();\n\t} catch {\n\t\t// Ignore preload errors\n\t}\n}\n"
|
|
30
30
|
],
|
|
31
|
-
"mappings": "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",
|
|
32
|
-
"debugId": "
|
|
31
|
+
"mappings": "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",
|
|
32
|
+
"debugId": "342E53E9D6C75B2864756E2164756E21",
|
|
33
33
|
"names": []
|
|
34
34
|
}
|