Skip to content

Commit fcec2f7

Browse files
committed
Wire plan review surface into frontend app
All session modes now render production surfaces: - review → ReviewAppEmbedded - plan, annotate, archive, goal-setup → PlanAppEmbedded Added @plannotator/plan-review dependency, Vite aliases, and styles. SessionSurface simplified — review gets code review, everything else gets plan review (which determines its mode from /api/plan response).
1 parent 2af4b2d commit fcec2f7

4 files changed

Lines changed: 21 additions & 31 deletions

File tree

apps/frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"@fontsource-variable/geist-mono": "^5.2.7",
1919
"@fontsource-variable/inter": "^5.2.8",
2020
"@plannotator/code-review": "workspace:*",
21+
"@plannotator/plan-review": "workspace:*",
2122
"@plannotator/shared": "workspace:*",
2223
"@plannotator/ui": "workspace:*",
2324
"@radix-ui/react-collapsible": "^1.1.12",
Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
import { SidebarTrigger } from "@/components/ui/sidebar";
22
import { SessionProvider } from "@plannotator/ui/hooks/useSessionFetch";
33
import { ReviewAppEmbedded } from "@plannotator/code-review";
4+
import { PlanAppEmbedded } from "@plannotator/plan-review";
45
import "@plannotator/code-review/styles";
6+
import "@plannotator/plan-review/styles";
57
import type { SessionBootstrap } from "../../daemon/contracts";
6-
import { getSessionModeMeta } from "../../shared/session-meta";
8+
9+
const sidebarTrigger = (
10+
<SidebarTrigger className="p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted" />
11+
);
712

813
interface SessionSurfaceProps {
914
bootstrap: SessionBootstrap;
@@ -15,40 +20,15 @@ export function SessionSurface({ bootstrap }: SessionSurfaceProps) {
1520
if (session.mode === "review") {
1621
return (
1722
<SessionProvider sessionId={session.id}>
18-
<ReviewAppEmbedded
19-
headerLeft={
20-
<SidebarTrigger className="p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted" />
21-
}
22-
/>
23+
<ReviewAppEmbedded headerLeft={sidebarTrigger} />
2324
</SessionProvider>
2425
);
2526
}
2627

27-
const meta = getSessionModeMeta(session.mode);
28-
const Icon = meta.icon;
29-
28+
// plan, annotate, archive, goal-setup — all handled by the plan review component
3029
return (
31-
<div className="isolate flex h-full flex-col bg-muted">
32-
<nav className="flex h-10 shrink-0 items-center gap-2 px-3">
33-
<SidebarTrigger className="-ml-1" />
34-
<Icon className="size-4 text-muted-foreground" />
35-
<span className="text-sm font-semibold">{session.label}</span>
36-
<span className="rounded-full bg-surface-1 px-2 py-0.5 text-[10px] font-medium text-muted-foreground">
37-
{session.status}
38-
</span>
39-
</nav>
40-
41-
<div className="flex-1 overflow-hidden p-2 pt-0">
42-
<div className="h-full overflow-hidden rounded-xl bg-card shadow-[var(--card-shadow)]">
43-
<main className="h-full scroll-smooth overflow-auto">
44-
<div className="mx-auto w-full max-w-3xl px-6 py-8 md:py-10">
45-
<p className="text-sm text-muted-foreground">
46-
{meta.label} surface · {session.project} · {session.id}
47-
</p>
48-
</div>
49-
</main>
50-
</div>
51-
</div>
52-
</div>
30+
<SessionProvider sessionId={session.id}>
31+
<PlanAppEmbedded headerLeft={sidebarTrigger} />
32+
</SessionProvider>
5333
);
5434
}

apps/frontend/vite.config.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ export default defineConfig(({ command }) => {
6868
__dirname,
6969
"../../packages/plannotator-code-review",
7070
),
71+
"@plannotator/plan-review/styles": path.resolve(
72+
__dirname,
73+
"../../packages/plannotator-plan-review/index.css",
74+
),
75+
"@plannotator/plan-review": path.resolve(
76+
__dirname,
77+
"../../packages/plannotator-plan-review",
78+
),
7179
"@plannotator/shared": path.resolve(__dirname, "../../packages/shared"),
7280
"@plannotator/ui": path.resolve(__dirname, "../../packages/ui"),
7381
},

bun.lock

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)