Skip to content

Commit 7ddcb23

Browse files
feat: persist diff panel state across thread navigation (#875)
1 parent 9e4e221 commit 7ddcb23

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

apps/web/src/routes/_chat.$threadId.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
import { ThreadId } from "@t3tools/contracts";
2-
import { createFileRoute, useNavigate } from "@tanstack/react-router";
2+
import { createFileRoute, retainSearchParams, useNavigate } from "@tanstack/react-router";
33
import { Suspense, lazy, type ReactNode, useCallback, useEffect } from "react";
44

55
import ChatView from "../components/ChatView";
66
import { useComposerDraftStore } from "../composerDraftStore";
7-
import { parseDiffRouteSearch, stripDiffSearchParams } from "../diffRouteSearch";
7+
import {
8+
type DiffRouteSearch,
9+
parseDiffRouteSearch,
10+
stripDiffSearchParams,
11+
} from "../diffRouteSearch";
812
import { useMediaQuery } from "../hooks/useMediaQuery";
913
import { useStore } from "../store";
1014
import { Sheet, SheetPopup } from "../components/ui/sheet";
@@ -224,5 +228,8 @@ function ChatThreadRouteView() {
224228

225229
export const Route = createFileRoute("/_chat/$threadId")({
226230
validateSearch: (search) => parseDiffRouteSearch(search),
231+
search: {
232+
middlewares: [retainSearchParams<DiffRouteSearch>(["diff"])],
233+
},
227234
component: ChatThreadRouteView,
228235
});

0 commit comments

Comments
 (0)