From ab060415362cc9928f6063d85608c1174dd24b25 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 23 Jan 2025 20:57:50 +0530 Subject: [PATCH] out of sync updation --- src/client/app/router.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/client/app/router.ts b/src/client/app/router.ts index 675f089b..8b09339d 100644 --- a/src/client/app/router.ts +++ b/src/client/app/router.ts @@ -7,8 +7,8 @@ import { getScrollOffset, inBrowser, withBase } from './utils' export interface Route { path: string - hash?: string - query?: string + hash: string + query: string data: PageData component: Component | null } @@ -57,6 +57,8 @@ const fakeHost = 'http://a.com' const getDefaultRoute = (): Route => ({ path: '/', + hash: '', + query: '', component: null, data: notFoundPageData }) @@ -108,6 +110,7 @@ export function createRouter( route.data = import.meta.env.PROD ? markRaw(__pageData) : (readonly(__pageData) as PageData) + syncRouteQueryAndHash(targetLoc) if (inBrowser) { nextTick(() => { @@ -160,14 +163,18 @@ export function createRouter( .replace(/^\//, '') : '404.md' route.data = { ...notFoundPageData, relativePath } + syncRouteQueryAndHash(targetLoc) } } } - function syncRouteQueryAndHash() { - if (!inBrowser) return - route.query = location.search - route.hash = decodeURIComponent(location.hash) + function syncRouteQueryAndHash( + loc: { search: string; hash: string } = inBrowser + ? location + : { search: '', hash: '' } + ) { + route.query = loc.search + route.hash = decodeURIComponent(loc.hash) } if (inBrowser) {