diff --git a/package.json b/package.json
index bd515511f..a851ef68a 100644
--- a/package.json
+++ b/package.json
@@ -77,6 +77,7 @@
"@mantine/hooks": "^8.2.8",
"@mantine/modals": "^8.2.8",
"@mantine/notifications": "^8.2.8",
+ "@offlegacy/nuqs-hash-router": "^0.1.1",
"@tanstack/react-query": "^5.89.0",
"@tanstack/react-query-devtools": "^5.89.0",
"@tanstack/react-query-persist-client": "^5.89.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4d1438aeb..cc0ff6c3f 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -59,6 +59,9 @@ importers:
'@mantine/notifications':
specifier: ^8.2.8
version: 8.2.8(@mantine/core@8.2.8(@mantine/hooks@8.2.8(react@19.1.0))(@types/react@18.3.23)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(@mantine/hooks@8.2.8(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@offlegacy/nuqs-hash-router':
+ specifier: ^0.1.1
+ version: 0.1.1(nuqs@2.7.1(react-router-dom@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(react@19.1.0)
'@tanstack/react-query':
specifier: ^5.89.0
version: 5.89.0(react@19.1.0)
@@ -1574,6 +1577,12 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
deprecated: This functionality has been moved to @npmcli/fs
+ '@offlegacy/nuqs-hash-router@0.1.1':
+ resolution: {integrity: sha512-dRTyovVxKBjRQrFU3qR7zBW/AvnVtYtBXWqIrkhIJXXLwytT05dIAz3dKxhXN9WvLuGdbzOP66p1ML2WR60CSQ==}
+ peerDependencies:
+ nuqs: '2'
+ react: '>=18'
+
'@pkgjs/parseargs@0.11.0':
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -7124,6 +7133,11 @@ snapshots:
mkdirp: 1.0.4
rimraf: 3.0.2
+ '@offlegacy/nuqs-hash-router@0.1.1(nuqs@2.7.1(react-router-dom@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ nuqs: 2.7.1(react-router-dom@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-router@7.9.4(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+
'@pkgjs/parseargs@0.11.0':
optional: true
diff --git a/src/renderer/router/app-outlet.tsx b/src/renderer/router/app-outlet.tsx
index 093464567..33a8f4d10 100644
--- a/src/renderer/router/app-outlet.tsx
+++ b/src/renderer/router/app-outlet.tsx
@@ -1,5 +1,5 @@
+import { NuqsAdapter } from '@offlegacy/nuqs-hash-router';
import isElectron from 'is-electron';
-import { NuqsAdapter } from 'nuqs/adapters/react-router/v6';
import { useEffect, useMemo } from 'react';
import { Navigate, Outlet } from 'react-router';
diff --git a/src/renderer/router/app-router.tsx b/src/renderer/router/app-router.tsx
index 8a705247a..2667d0553 100644
--- a/src/renderer/router/app-router.tsx
+++ b/src/renderer/router/app-router.tsx
@@ -1,5 +1,5 @@
import { lazy, Suspense } from 'react';
-import { BrowserRouter, Route, Routes } from 'react-router';
+import { HashRouter, Route, Routes } from 'react-router';
import { AppRoute } from './routes';
@@ -69,7 +69,7 @@ const RouteErrorBoundary = lazy(
export const AppRouter = () => {
const router = (
-
+
{
-
+
);
return >}>{router};