@@ -10,7 +10,7 @@ import { ProjectDashboard } from "./ProjectDashboard";
1010import { PanelGrid } from "../../components/PanelGrid" ;
1111import type { PanelState } from "../../components/PanelGrid" ;
1212import { disposeTerminal } from "../../components/Terminal" ;
13- import type { WorkspaceData , WorkspaceProject , Feature , FeatureStatus , PanelState as StoredPanelState , SessionState as StoredSessionState , LayoutNode } from "./types" ;
13+ import type { WorkspaceData , WorkspaceProject , Feature , PanelState as StoredPanelState , SessionState as StoredSessionState , LayoutNode } from "./types" ;
1414
1515export function WorkspaceView ( ) {
1616 const [ workspace , setWorkspace ] = useAtom ( workspaceDataAtom ) ;
@@ -217,70 +217,6 @@ export function WorkspaceView() {
217217 }
218218 } , [ activeProject , saveWorkspace ] ) ;
219219
220- // Update feature status from dashboard (no auto-archive)
221- const handleDashboardFeatureStatusChange = useCallback (
222- ( featureId : string , status : FeatureStatus ) => {
223- if ( ! activeProject ) return ;
224- const projectId = activeProject . id ;
225-
226- saveWorkspace ( ( current ) => {
227- const newProjects = current . projects . map ( ( p ) => {
228- if ( p . id !== projectId ) return p ;
229- return {
230- ...p ,
231- features : p . features . map ( ( f ) =>
232- f . id === featureId ? { ...f , status } : f
233- ) ,
234- } ;
235- } ) ;
236- return { ...current , projects : newProjects } ;
237- } ) ;
238- } ,
239- [ activeProject , saveWorkspace ]
240- ) ;
241-
242- // Select feature from dashboard and switch to features view
243- const handleDashboardFeatureClick = useCallback (
244- ( featureId : string ) => {
245- if ( ! activeProject ) return ;
246- const projectId = activeProject . id ;
247-
248- saveWorkspace ( ( current ) => {
249- const newProjects = current . projects . map ( ( p ) =>
250- p . id === projectId
251- ? { ...p , active_feature_id : featureId , view_mode : "features" as const }
252- : p
253- ) ;
254- return { ...current , projects : newProjects } ;
255- } ) ;
256- } ,
257- [ activeProject , saveWorkspace ]
258- ) ;
259-
260- // Unarchive feature from dashboard
261- const handleUnarchiveFeature = useCallback (
262- ( featureId : string ) => {
263- if ( ! activeProject ) return ;
264- const projectId = activeProject . id ;
265-
266- saveWorkspace ( ( current ) => {
267- const newProjects = current . projects . map ( ( p ) => {
268- if ( p . id !== projectId ) return p ;
269- return {
270- ...p ,
271- features : p . features . map ( ( f ) =>
272- f . id === featureId ? { ...f , archived : false } : f
273- ) ,
274- active_feature_id : featureId ,
275- view_mode : "features" as const ,
276- } ;
277- } ) ;
278- return { ...current , projects : newProjects } ;
279- } ) ;
280- } ,
281- [ activeProject , saveWorkspace ]
282- ) ;
283-
284220 // Layout tree utilities
285221 const splitLayoutNode = useCallback (
286222 ( node : LayoutNode , targetPanelId : string , direction : "horizontal" | "vertical" , newPanelId : string ) : LayoutNode => {
0 commit comments