Rip out Theia, ship P5.1 attach E2E + Justine UI work-in-progress
Theia rip-out: - Delete app/api/theia-auth/route.ts (Traefik ForwardAuth shim) - Delete app/api/projects/[projectId]/workspace/route.ts and app/api/projects/prewarm/route.ts (Cloud Run Theia provisioning) - Delete lib/cloud-run-workspace.ts and lib/coolify-workspace.ts - Strip provisionTheiaWorkspace + theiaWorkspaceUrl/theiaAppUuid/ theiaError from app/api/projects/create/route.ts response - Remove Theia callbackUrl branch in app/auth/page.tsx - Drop "Open in Theia" button + xterm/Theia PTY copy in build/page.tsx - Drop theiaWorkspaceUrl from deployment/page.tsx Project type - Strip Theia IDE line + theia-code-os from advisor + agent-chat context strings - Scrub Theia mention from lib/auth/workspace-auth.ts comment P5.1 (custom apex domains + DNS): - lib/coolify.ts + lib/opensrs.ts: nameserver normalization, OpenSRS XML auth, Cloud DNS plumbing - scripts/smoke-attach-e2e.ts: full prod GCP + sandbox OpenSRS + prod Coolify smoke covering register/zone/A/NS/PATCH/cleanup In-progress (Justine onboarding/build, MVP setup, agent telemetry): - New (justine)/stories, project (home) layouts, mvp-setup, run, tasks routes + supporting components - Project shell + sidebar + nav refactor for the Stackless palette - Agent session API hardening (sessions, events, stream, approve, retry, stop) + atlas-chat, advisor, design-surfaces refresh - New scripts/sync-db-url-from-coolify.mjs + scripts/prisma-db-push.mjs + docker-compose.local-db.yml for local Prisma workflows - lib/dev-bypass.ts, lib/chat-context-refs.ts, lib/prd-sections.ts - Misc: stories CSS, debug/prisma route, modal-theme, BuildLivePlanPanel Made-with: Cursor
This commit is contained in:
21
marketing/components/justine/JustineAuthShell.tsx
Normal file
21
marketing/components/justine/JustineAuthShell.tsx
Normal file
@@ -0,0 +1,21 @@
|
||||
import Link from "next/link";
|
||||
|
||||
/** Compact nav from justine/02_signup.html — use inside [data-justine-auth] + 02-signup.css */
|
||||
export function JustineAuthShell({ children }: { children: React.ReactNode }) {
|
||||
return (
|
||||
<>
|
||||
<nav className="justine-auth-nav" aria-label="Auth">
|
||||
<Link href="/" className="justine-auth-nav-brand">
|
||||
<div className="justine-auth-nav-logo">
|
||||
<span className="f">V</span>
|
||||
</div>
|
||||
<span className="justine-auth-nav-wordmark f">vibn</span>
|
||||
</Link>
|
||||
<span className="justine-auth-nav-aside">
|
||||
New to vibn? <Link href="/">View homepage</Link>
|
||||
</span>
|
||||
</nav>
|
||||
<div className="justine-auth-main">{children}</div>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@@ -7,7 +7,7 @@ import Link from "next/link";
|
||||
*/
|
||||
export function JustineHomePage() {
|
||||
return (
|
||||
<>
|
||||
<div className="justine-home-page">
|
||||
<section
|
||||
className="hero-section"
|
||||
style={{ maxWidth: 980, margin: "0 auto", padding: "88px 52px 72px" }}
|
||||
@@ -513,6 +513,6 @@ export function JustineHomePage() {
|
||||
<div style={{ fontSize: 12.5, color: "var(--muted)" }}>Joins 280+ non-technical founders already live</div>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ export function JustineNav() {
|
||||
<Link href="/pricing" style={{ fontSize: 14, color: "var(--muted)", textDecoration: "none" }}>
|
||||
Pricing
|
||||
</Link>
|
||||
<Link href="/features" style={{ fontSize: 14, color: "var(--muted)", textDecoration: "none" }}>
|
||||
<Link href="/stories" style={{ fontSize: 14, color: "var(--muted)", textDecoration: "none" }}>
|
||||
Stories
|
||||
</Link>
|
||||
<span style={{ fontSize: 14, color: "var(--muted)" }}>Blog</span>
|
||||
@@ -93,7 +93,7 @@ export function JustineNav() {
|
||||
<Link href="/pricing" onClick={close}>
|
||||
Pricing
|
||||
</Link>
|
||||
<Link href="/features" onClick={close}>
|
||||
<Link href="/stories" onClick={close}>
|
||||
Stories
|
||||
</Link>
|
||||
<Link href="#" onClick={(e) => { e.preventDefault(); close(); }}>
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export { JustineNav } from "./JustineNav";
|
||||
export { JustineFooter } from "./JustineFooter";
|
||||
export { JustineHomePage } from "./JustineHomePage";
|
||||
export { JustineAuthShell } from "./JustineAuthShell";
|
||||
|
||||
Reference in New Issue
Block a user