refactor: migrate query params to nuqs

This commit is contained in:
yyh
2025-12-30 12:36:51 +08:00
parent 3505516e8e
commit e97857ef7f
5 changed files with 102 additions and 154 deletions

View File

@ -11,6 +11,7 @@ import type {
import { useLocalStorageState } from 'ahooks'
import { noop } from 'es-toolkit/compat'
import { produce } from 'immer'
import { parseAsString, useQueryState } from 'nuqs'
import {
useCallback,
useEffect,
@ -82,12 +83,10 @@ export const useEmbeddedChatbot = () => {
setConversationId(embeddedConversationId || undefined)
}, [embeddedConversationId])
const [localeParam] = useQueryState('locale', parseAsString)
useEffect(() => {
const setLanguageFromParams = async () => {
// Check URL parameters for language override
const urlParams = new URLSearchParams(window.location.search)
const localeParam = urlParams.get('locale')
// Check for encoded system variables
const systemVariables = await getProcessedSystemVariablesFromUrlParams()
const localeFromSysVar = systemVariables.locale
@ -107,7 +106,7 @@ export const useEmbeddedChatbot = () => {
}
setLanguageFromParams()
}, [appInfo])
}, [appInfo, localeParam])
const [conversationIdInfo, setConversationIdInfo] = useLocalStorageState<Record<string, Record<string, string>>>(CONVERSATION_ID_INFO, {
defaultValue: {},