Files
klz-cables.com/.pnpm-store/v10/files/da/dfac44d96145ffac301d2916add976e7301439365ae5ec5d9dd458d3c3b24a37d2a356573d4c601c07733cb537781eebf7d260fec056af5c8d383252042730
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
4.7 KiB
Plaintext

{"version":3,"file":"index.js","names":["c","_c","usePathname","useRouter","React","createContext","use","useCallback","useEffect","useRef","useEffectEvent","Context","cachingEnabled","clearRouteCache","RouteCache","t0","$","t1","children","undefined","pathname","router","clearAfterPathnameChange","t2","refresh","t3","Symbol","for","handlePopState","current","window","addEventListener","removeEventListener","t4","t5","pathname_0","handlePathnameChange","t6","t7","t8","_jsx","value","useRouteCache"],"sources":["../../../src/providers/RouteCache/index.tsx"],"sourcesContent":["'use client'\n\nimport { usePathname, useRouter } from 'next/navigation.js'\nimport React, { createContext, use, useCallback, useEffect, useRef } from 'react'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\n\nexport type RouteCacheContext = {\n cachingEnabled: boolean\n clearRouteCache: () => void\n}\n\nconst Context = createContext<RouteCacheContext>({\n cachingEnabled: true,\n clearRouteCache: () => {},\n})\n\nexport const RouteCache: React.FC<{ cachingEnabled?: boolean; children: React.ReactNode }> = ({\n cachingEnabled = true,\n children,\n}) => {\n const pathname = usePathname()\n const router = useRouter()\n\n /**\n * Next.js caches pages in memory in their {@link https://nextjs.org/docs/app/guides/caching#client-side-router-cache Client-side Router Cache},\n * causing forward/back browser navigation to show stale data from a previous visit.\n * The problem is this bfcache-like behavior has no opt-out, even if the page is dynamic, requires authentication, etc.\n * The workaround is to force a refresh when navigating via the browser controls.\n * This should be removed if/when Next.js supports this natively.\n */\n const clearAfterPathnameChange = useRef(false)\n\n const clearRouteCache = useCallback(() => {\n router.refresh()\n }, [router])\n\n useEffect(() => {\n const handlePopState = () => {\n clearAfterPathnameChange.current = true\n }\n\n window.addEventListener('popstate', handlePopState)\n\n return () => {\n window.removeEventListener('popstate', handlePopState)\n }\n }, [router])\n\n const handlePathnameChange = useEffectEvent((pathname: string) => {\n if (cachingEnabled || clearAfterPathnameChange.current) {\n clearAfterPathnameChange.current = false\n clearRouteCache()\n }\n })\n\n useEffect(() => {\n handlePathnameChange(pathname)\n }, [pathname])\n\n return <Context value={{ cachingEnabled, clearRouteCache }}>{children}</Context>\n}\n\nexport const useRouteCache = () => use(Context)\n"],"mappings":"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","ignoreList":[]}