@@ -37,8 +37,22 @@ const THINKING_LEVELS: ThinkingLevel[] = ["off", "low", "medium", "high"];
3737
3838function AppInner ( ) {
3939 // Get app-level state from context
40- const { workspaceMetadata, setWorkspaceMetadata, removeWorkspace, renameWorkspace, selectedWorkspace, setSelectedWorkspace } = useApp ( ) ;
41- const { projects } = useProjectContext ( ) ;
40+ const {
41+ workspaceMetadata,
42+ setWorkspaceMetadata,
43+ removeWorkspace,
44+ renameWorkspace,
45+ selectedWorkspace,
46+ setSelectedWorkspace,
47+ } = useApp ( ) ;
48+ const {
49+ projects,
50+ removeProject,
51+ openProjectCreateModal,
52+ isProjectCreateModalOpen,
53+ closeProjectCreateModal,
54+ addProject,
55+ } = useProjectContext ( ) ;
4256
4357 // Track when we're in "new workspace creation" mode (show FirstMessageInput)
4458 const [ pendingNewWorkspaceProject , setPendingNewWorkspaceProject ] = useState < string | null > ( null ) ;
@@ -78,8 +92,6 @@ function AppInner() {
7892 // Get workspace store for command palette
7993 const workspaceStore = useWorkspaceStoreRaw ( ) ;
8094
81-
82-
8395 // Track telemetry when workspace selection changes
8496 const prevWorkspaceRef = useRef < WorkspaceSelection | null > ( null ) ;
8597 useEffect ( ( ) => {
@@ -167,14 +179,12 @@ function AppInner() {
167179 }
168180 await removeProject ( path ) ;
169181 } ,
170- [ removeProject , selectedWorkspace , setSelectedWorkspace ]
182+ // eslint-disable-next-line react-hooks/exhaustive-deps
183+ [ selectedWorkspace , setSelectedWorkspace ]
171184 ) ;
172185
173-
174-
175186 // Memoize callbacks to prevent LeftSidebar/ProjectSidebar re-renders
176187
177-
178188 // NEW: Get workspace recency from store
179189 const workspaceRecency = useWorkspaceRecency ( ) ;
180190
@@ -357,8 +367,8 @@ function AppInner() {
357367 ) ;
358368
359369 const addProjectFromPalette = useCallback ( ( ) => {
360- setProjectCreateModalOpen ( true ) ;
361- } , [ ] ) ;
370+ openProjectCreateModal ( ) ;
371+ } , [ openProjectCreateModal ] ) ;
362372
363373 const removeProjectFromPalette = useCallback (
364374 ( path : string ) => {
@@ -596,7 +606,11 @@ function AppInner() {
596606 workspaceId : selectedWorkspace ?. workspaceId ,
597607 } ) }
598608 />
599- < ProjectCreateModal />
609+ < ProjectCreateModal
610+ isOpen = { isProjectCreateModalOpen }
611+ onClose = { closeProjectCreateModal }
612+ onSuccess = { addProject }
613+ />
600614 </ div >
601615 </ >
602616 ) ;
0 commit comments