Files
vibn-agent-runner/vibn-frontend/app/[workspace]/project/[projectId]/(home)/layout.tsx

40 lines
988 B
TypeScript

/**
* Project shell — unified top bar (chat controls | section icons) and a
* split row below (conversation | artifact). No skinny workspace sidebar.
*/
import { ReactNode } from "react";
import { Toaster } from "sonner";
import { ProjectAssociationPrompt } from "@/components/project-association-prompt";
import { ChatPanel } from "@/components/vibn-chat/chat-panel";
export default async function ProjectShell({
children,
params,
}: {
children: ReactNode;
params: Promise<{ workspace: string; projectId: string }>;
}) {
const { workspace } = await params;
return (
<>
<div style={pageWrap}>
<ChatPanel structural artifactSlot={children} />
</div>
<ProjectAssociationPrompt workspace={workspace} />
<Toaster position="top-center" />
</>
);
}
const pageWrap: React.CSSProperties = {
display: "flex",
flexDirection: "column",
flex: 1,
minHeight: 0,
height: "100vh",
background: "#faf8f5",
overflow: "hidden",
};