This commit is contained in:
2026-02-22 01:50:15 +00:00
parent 23b369c7e1
commit ab03b175e7
40 changed files with 829 additions and 956 deletions
@@ -1,12 +1,11 @@
import { useParams, Navigate } from 'react-router';
import { useProjectsState } from 'state/useProjectsState';
import { useWorkspacesState } from 'state/useWorkspacesState';
import { WorkspaceView, createDefaultLayout } from '@/components/Workspace';
import type { LayoutNode, ProjectDefinition } from '@/components/Workspace';
export const ProjectScreen = () => {
const { id } = useParams<{ id: string }>();
const [projects, , isLoaded] = useProjectsState<ProjectDefinition[]>('projects', []);
const { value: projects, isLoaded } = useWorkspacesState<ProjectDefinition[]>('projects', []);
const project = projects.find((p) => p.id === id);
if (!isLoaded) return null;
@@ -16,17 +15,11 @@ export const ProjectScreen = () => {
};
const ProjectScreenInner = ({ project }: { project: ProjectDefinition }) => {
const [layout, setLayout] = useProjectsState<LayoutNode>(`proj-layout-${project.id}`, createDefaultLayout());
const workspace = { id: project.id, name: project.name, cwd: project.cwd };
const workspace = useWorkspacesState<LayoutNode>(`proj-layout-${project.id}`, createDefaultLayout());
return (
<div className="h-full w-full">
<WorkspaceView
workspace={workspace}
layout={layout}
onLayoutChange={setLayout}
/>
<WorkspaceView workspace={workspace} cwd={project.cwd} />
</div>
);
};