@@ -7,7 +7,11 @@ import { LeftSidebar } from "./components/LeftSidebar";
77import { ProjectCreateModal } from "./components/ProjectCreateModal" ;
88import { AIView } from "./components/AIView" ;
99import { ErrorBoundary } from "./components/ErrorBoundary" ;
10- import { usePersistedState , updatePersistedState } from "./hooks/usePersistedState" ;
10+ import {
11+ usePersistedState ,
12+ updatePersistedState ,
13+ readPersistedState ,
14+ } from "./hooks/usePersistedState" ;
1115import { matchesKeybind , KEYBINDS } from "./utils/ui/keybinds" ;
1216import { buildSortedWorkspacesByProject } from "./utils/ui/workspaceFiltering" ;
1317import { useResumeManager } from "./hooks/useResumeManager" ;
@@ -281,18 +285,10 @@ function AppInner() {
281285 }
282286
283287 try {
284- // First get the model for this workspace, then get thinking level for that model
285- const modelKey = getModelKey ( workspaceId ) ;
286- const modelStored = window . localStorage . getItem ( modelKey ) ;
287- const model = modelStored ? ( JSON . parse ( modelStored ) as string ) : getDefaultModel ( ) ;
288-
289- const key = getThinkingLevelKey ( model ) ;
290- const stored = window . localStorage . getItem ( key ) ;
291- if ( ! stored || stored === "undefined" ) {
292- return "off" ;
293- }
294- const parsed = JSON . parse ( stored ) as ThinkingLevel ;
295- return THINKING_LEVELS . includes ( parsed ) ? parsed : "off" ;
288+ const model =
289+ readPersistedState < string | null > ( getModelKey ( workspaceId ) , null ) ?? getDefaultModel ( ) ;
290+ const storedLevel = readPersistedState < ThinkingLevel > ( getThinkingLevelKey ( model ) , "off" ) ;
291+ return THINKING_LEVELS . includes ( storedLevel ) ? storedLevel : "off" ;
296292 } catch ( error ) {
297293 console . warn ( "Failed to read thinking level" , error ) ;
298294 return "off" ;
@@ -304,11 +300,8 @@ function AppInner() {
304300 return ;
305301 }
306302
307- // Get the model for this workspace to set thinking level for it
308- const modelKey = getModelKey ( workspaceId ) ;
309- const modelStored = window . localStorage ?. getItem ( modelKey ) ;
310- const model = modelStored ? ( JSON . parse ( modelStored ) as string ) : getDefaultModel ( ) ;
311-
303+ const model =
304+ readPersistedState < string | null > ( getModelKey ( workspaceId ) , null ) ?? getDefaultModel ( ) ;
312305 const normalized = THINKING_LEVELS . includes ( level ) ? level : "off" ;
313306 const key = getThinkingLevelKey ( model ) ;
314307
0 commit comments