mirror of
https://github.com/hanzoai/bootnode.git
synced 2026-10-25 02:31:30 +00:00
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]>
46 lines
1.0 KiB
TypeScript
46 lines
1.0 KiB
TypeScript
"use client"
|
|
|
|
import { getChainIcon, getChainColor, getChainInitial } from "@/lib/chain-icons"
|
|
|
|
interface ChainIconProps {
|
|
chain: string
|
|
name?: string
|
|
size?: number
|
|
className?: string
|
|
}
|
|
|
|
/** Renders a chain icon - real PNG if available, color circle with initial as fallback */
|
|
export function ChainIcon({ chain, name, size = 24, className }: ChainIconProps) {
|
|
const iconSrc = getChainIcon(chain)
|
|
|
|
if (iconSrc) {
|
|
return (
|
|
<img
|
|
src={iconSrc}
|
|
alt={name || chain}
|
|
width={size}
|
|
height={size}
|
|
className={`rounded-full ${className || ""}`}
|
|
/>
|
|
)
|
|
}
|
|
|
|
const color = getChainColor(chain)
|
|
const initial = getChainInitial(chain, name)
|
|
|
|
return (
|
|
<span
|
|
className={`inline-flex items-center justify-center rounded-full text-white font-bold ${className || ""}`}
|
|
style={{
|
|
width: size,
|
|
height: size,
|
|
backgroundColor: color,
|
|
fontSize: size * 0.45,
|
|
lineHeight: 1,
|
|
}}
|
|
>
|
|
{initial}
|
|
</span>
|
|
)
|
|
}
|