Files
med-notes/.pnpm-store/v10/files/d0/3a57ae0bc80f5de0bd68b1141eaa2c7b24e887100bbaf1f84ca9de5b62c65a3bba1fbc422de6b6d44ca9252e309c779078bd01b7d07f14ec8ac1b0f18f1fa4
2025-05-09 05:30:08 +02:00

30 lines
781 B
Plaintext

import {
defaultGetScrollRestorationKey,
restoreScroll,
storageKey,
} from '@tanstack/router-core'
import { useRouter } from './useRouter'
import { ScriptOnce } from './ScriptOnce'
export function ScrollRestoration() {
const router = useRouter()
const getKey =
router.options.getScrollRestorationKey || defaultGetScrollRestorationKey
const userKey = getKey(router.latestLocation)
const resolvedKey =
userKey !== defaultGetScrollRestorationKey(router.latestLocation)
? userKey
: null
if (!router.isScrollRestoring || !router.isServer) {
return null
}
return (
<ScriptOnce
children={`(${restoreScroll.toString()})(${JSON.stringify(storageKey)},${JSON.stringify(resolvedKey)}, undefined, true)`}
log={false}
/>
)
}