import React from "react"; import { Terminal, GitBranch, Sliders, FileText, Palette, PlayCircle, Server, UploadCloud, Eye, ShieldCheck, Activity, CheckCircle2, AlertTriangle, RotateCcw, } from "lucide-react"; import { NginxStatus, BuildRecord, PushTarget } from "../types"; interface NavbarProps { activeTab: string; setActiveTab: (tab: string) => void; nginxStatus: NginxStatus | null; activeBuild: BuildRecord | null; primaryPushTarget: PushTarget | null; onQuickBuild: () => void; onQuickNginxTest: () => void; isBuilding: boolean; } export const Navbar: React.FC = ({ activeTab, setActiveTab, nginxStatus, activeBuild, primaryPushTarget, onQuickBuild, onQuickNginxTest, isBuilding, }) => { const tabs = [ { id: "dashboard", label: "Dashboard", icon: Activity }, { id: "repositories", label: "Repositories", icon: GitBranch }, { id: "explorer", label: "Site Explorer", icon: Eye }, { id: "artifacts", label: "Artifacts", icon: FileText }, { id: "projections", label: "Projections", icon: Palette }, { id: "publishing", label: "Publishing", icon: PlayCircle }, { id: "targets", label: "Publishing Targets", icon: UploadCloud }, { id: "local-site", label: "Local Site", icon: Server }, { id: "system", label: "System", icon: ShieldCheck }, ]; return (
{/* TOP BRAND BAR */}
L
Labyricorn v1.0.0-MVP

Git-backed Static Site Control Plane & Nginx Host

{/* SYSTEM STATUS BADGES & QUICK ACTIONS */}
{/* Active Release Badge */}
current -> {activeBuild ? activeBuild.id : "none"}
{/* Nginx Status Badge */}
Nginx: {nginxStatus?.configValid ? "Active (Port 80)" : "Error"}
{/* Push Target Status */} {primaryPushTarget && (
VPS: {primaryPushTarget.host}
)} {/* QUICK BUILD BUTTON */}
{/* NAVIGATION TAB STRIP */}
); };