{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "navbar-status", "type": "registry:ui", "title": "Navbar Status", "description": "A navigation bar with status indicator and real-time metrics display.", "dependencies": [ "lucide-react" ], "files": [ { "path": "registry/ruixenui/navbar-status.tsx", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport Link from \"next/link\";\nimport { Activity, Circle, Zap } from \"lucide-react\";\nimport { cn } from \"@/lib/utils\";\n\nexport interface NavbarStatusProps {\n logo?: React.ReactNode;\n links?: { label: string; href: string; active?: boolean }[];\n status?: {\n label: string;\n state: \"online\" | \"offline\" | \"busy\";\n };\n metrics?: {\n uptime?: string;\n latency?: string;\n };\n className?: string;\n}\n\nconst statusColors = {\n online: \"text-green-500\",\n offline: \"text-muted-foreground\",\n busy: \"text-yellow-500\",\n};\n\nexport default function NavbarStatus({\n logo = Logo,\n links = [\n { label: \"Dashboard\", href: \"#\", active: true },\n { label: \"Analytics\", href: \"#\" },\n { label: \"Reports\", href: \"#\" },\n ],\n status = { label: \"Online\", state: \"online\" },\n metrics = { uptime: \"99.9%\", latency: \"45ms\" },\n className,\n}: NavbarStatusProps) {\n return (\n \n \n \n \n {logo}\n \n \n {links.map((link) => (\n \n {link.label}\n \n ))}\n \n \n \n {metrics && (\n \n {metrics.uptime && (\n \n \n {metrics.uptime} uptime\n \n )}\n {metrics.latency && (\n \n \n {metrics.latency}\n \n )}\n \n )}\n \n \n {status.label}\n \n \n \n \n );\n}\n", "type": "registry:ui", "target": "components/ruixen/navbar-status.tsx" } ] }