Files
zeekayandHanzo Dev 7d293212cb refactor: web/ is now console/ — bootnode/bootnode is the backend, bootnode/console the frontend
Names the two halves for what they are. The repo already holds both (12407e9 merged
bootnode/bootnode into this history); this makes the frontend directory say so, so the layout
reads the way the owner describes the system: backend and frontend separate, one repo.

git mv throughout — 187 renames, history preserved. Every path reference follows: hanzo.yml
build context and dockerfile, compose.yml, compose.prod.yml, start.sh, LLM.md,
infra/k8s/web-deployments.yaml, infra/cloud/deploy.sh, and the Dockerfile's own COPY paths.
Image and container names (bootnode-web, the -web tag suffix) are deliberately NOT renamed here:
those are a deploy contract the App CR and ingress bind to on port 3001, and breaking them is a
separate, staged change.

Console builds green after the move; the Go tree builds.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-26 17:47:51 -07:00

39 lines
1.7 KiB
TypeScript

import * as React from "react"
import { cva, type VariantProps } from "class-variance-authority"
import { cn } from "@/lib/utils"
// Badge == lux.cloud's `.pill`: a fully-round 12px label, medium weight, no
// shadow. The three status variants carry the leading dot lux.cloud gives
// `.pill.live` / `.pill.pending` — a colour alone is not a state readable by
// someone who cannot distinguish it, and the dot makes the tint deliberate
// rather than decorative.
const badgeVariants = cva(
"inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-1 focus:ring-ring",
{
variants: {
variant: {
default: "border-transparent bg-primary text-primary-foreground hover:bg-primary/90",
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
outline: "border-border-strong text-foreground",
destructive:
"border-transparent bg-destructive/12 text-destructive before:size-1.5 before:rounded-full before:bg-current",
success:
"border-transparent bg-success/12 text-success before:size-1.5 before:rounded-full before:bg-current",
warning:
"border-transparent bg-warning/12 text-warning before:size-1.5 before:rounded-full before:bg-current",
},
},
defaultVariants: {
variant: "default",
},
}
)
export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}
function Badge({ className, variant, ...props }: BadgeProps) {
return <div className={cn(badgeVariants({ variant }), className)} {...props} />
}
export { Badge, badgeVariants }