"use client"; import { useEffect, useState } from "react"; import { useParams } from "next/navigation"; import { toast } from "sonner"; interface Project { id: string; productName: string; status?: string; giteaRepoUrl?: string; giteaRepo?: string; theiaWorkspaceUrl?: string; coolifyDeployUrl?: string; customDomain?: string; prd?: string; } function SectionLabel({ children }: { children: React.ReactNode }) { return (
Links, environments, and hosting for {project?.productName ?? "this project"}
{/* Project URLs */}{!hasPRD ? "Complete your PRD with Vibn first, then build and deploy." : !hasRepo ? "No repository yet — the Architect agent will scaffold one from your PRD." : "No deployment yet — kick off a build to get a live URL."}
Point your own domain to this project. SSL certificates are handled automatically.
Manage environment variables in Coolify for your deployed services. {project?.coolifyDeployUrl && ( <> Open Coolify ↗> )}
) : (Available after first build completes.
)}{project?.status === "live" ? "Deploy history will appear here." : "No deploys yet."}