fix: avoid route refresh when switching claw history
This commit is contained in:
parent
e1f514536b
commit
accaaad8f1
@ -4,7 +4,7 @@ import { useChat } from "@ai-sdk/react";
|
|||||||
import { DefaultChatTransport } from "ai";
|
import { DefaultChatTransport } from "ai";
|
||||||
import { useEffect, useRef, useState, useCallback, useMemo, type ClipboardEvent as ReactClipboardEvent, type DragEvent as ReactDragEvent, type MouseEvent as ReactMouseEvent } from "react";
|
import { useEffect, useRef, useState, useCallback, useMemo, type ClipboardEvent as ReactClipboardEvent, type DragEvent as ReactDragEvent, type MouseEvent as ReactMouseEvent } from "react";
|
||||||
import { useSession } from "next-auth/react";
|
import { useSession } from "next-auth/react";
|
||||||
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
import { useSearchParams } from "next/navigation";
|
||||||
import { createPortal } from "react-dom";
|
import { createPortal } from "react-dom";
|
||||||
import type { DetailUiProtocol } from "@/lib/detail-ui-protocol";
|
import type { DetailUiProtocol } from "@/lib/detail-ui-protocol";
|
||||||
import type { DetailUiScreenReviewPatch } from "@/lib/detail-ui-protocol";
|
import type { DetailUiScreenReviewPatch } from "@/lib/detail-ui-protocol";
|
||||||
@ -2148,8 +2148,6 @@ export function CanvasChatPanel({
|
|||||||
);
|
);
|
||||||
const effectiveAgentEnabled = agentEnabled && !isVideoWorkspace;
|
const effectiveAgentEnabled = agentEnabled && !isVideoWorkspace;
|
||||||
const { data: session } = useSession();
|
const { data: session } = useSession();
|
||||||
const router = useRouter();
|
|
||||||
const pathname = usePathname();
|
|
||||||
const searchParams = useSearchParams();
|
const searchParams = useSearchParams();
|
||||||
const requestedChatSessionId = useMemo(
|
const requestedChatSessionId = useMemo(
|
||||||
() => normalizeCanvasChatSessionId(searchParams.get(CANVAS_CHAT_QUERY_PARAM)),
|
() => normalizeCanvasChatSessionId(searchParams.get(CANVAS_CHAT_QUERY_PARAM)),
|
||||||
@ -2296,15 +2294,11 @@ export function CanvasChatPanel({
|
|||||||
const normalized = normalizeCanvasChatSessionId(sessionId);
|
const normalized = normalizeCanvasChatSessionId(sessionId);
|
||||||
if (!normalized || typeof window === "undefined") return;
|
if (!normalized || typeof window === "undefined") return;
|
||||||
|
|
||||||
const params = new URLSearchParams(window.location.search);
|
const url = new URL(window.location.href);
|
||||||
params.set(CANVAS_CHAT_QUERY_PARAM, normalized);
|
url.searchParams.set(CANVAS_CHAT_QUERY_PARAM, normalized);
|
||||||
const query = params.toString();
|
window.history.replaceState(window.history.state, "", url);
|
||||||
const hash = window.location.hash || "";
|
|
||||||
router.replace(`${pathname}${query ? `?${query}` : ""}${hash}`, {
|
|
||||||
scroll: false,
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
[pathname, router]
|
[]
|
||||||
);
|
);
|
||||||
|
|
||||||
// 🆕 标签悬停预览状态
|
// 🆕 标签悬停预览状态
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user