app: use SquareCode as the program icon
Swap the canonical KIND_ICONS.program glyph from Package to SquareCode, and route the palette + System-map program affordances through it. (The Programs nav icon in Layout.tsx changes too, committed separately with its own WIP.)
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
import { useEffect, useMemo, useState } from "react"
|
||||
import { useNavigate } from "react-router-dom"
|
||||
import { ExternalLink, Gauge, Maximize2, Package, Search } from "lucide-react"
|
||||
import { ExternalLink, Gauge, Maximize2, Search } from "lucide-react"
|
||||
import { useGateway, useGraph, useMeshDeployments, usePrograms } from "@/services/api/hooks"
|
||||
import { kindIcon } from "@/lib/labels"
|
||||
|
||||
const ProgramIcon = kindIcon("program")
|
||||
|
||||
// The command palette — the keyboard twin of the System map's inspect panel. ⌘K
|
||||
// from anywhere: an empty query is the "Start Menu" (launchable apps); typing
|
||||
// searches every deployment and program. One row per real thing: a deployed
|
||||
@@ -233,7 +235,7 @@ function PaletteBody({ onClose }: { onClose: () => void }) {
|
||||
title="Go to program (source)"
|
||||
className="shrink-0 text-[var(--muted)] hover:text-[var(--card-foreground)]"
|
||||
>
|
||||
<Package size={13} />
|
||||
<ProgramIcon size={13} />
|
||||
</button>
|
||||
)}
|
||||
<button
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
import type { LucideIcon } from "lucide-react"
|
||||
import { Box, Clock, LayoutTemplate, Package, Server, Waypoints, Wrench } from "lucide-react"
|
||||
import { Box, Clock, LayoutTemplate, Server, SquareCode, Waypoints, Wrench } from "lucide-react"
|
||||
|
||||
// Canonical kind → icon — the single source of truth so the nav, Overview tiles,
|
||||
// cards, the System map, and the command palette all speak one visual language.
|
||||
// (Colors live in KindBadge; labels/descriptions are below.) `program` is the
|
||||
// catalog pseudo-kind, not a deployment kind — the same Package glyph the
|
||||
// Programs nav entry and Overview tile use.
|
||||
// catalog pseudo-kind, not a deployment kind — the SquareCode glyph the Programs
|
||||
// nav entry and Overview tile use.
|
||||
export const KIND_ICONS: Record<string, LucideIcon> = {
|
||||
service: Server,
|
||||
job: Clock,
|
||||
tool: Wrench,
|
||||
static: LayoutTemplate,
|
||||
reference: Waypoints,
|
||||
program: Package,
|
||||
program: SquareCode,
|
||||
}
|
||||
|
||||
export function kindIcon(kind: string): LucideIcon {
|
||||
|
||||
@@ -31,6 +31,7 @@ import {
|
||||
Plus,
|
||||
RotateCw,
|
||||
Router,
|
||||
SquareCode,
|
||||
Trash2,
|
||||
X,
|
||||
} from "lucide-react"
|
||||
@@ -169,7 +170,7 @@ function MapNode({ data }: NodeProps) {
|
||||
d.onProgram?.(d.program!)
|
||||
}}
|
||||
>
|
||||
<Package size={11} />
|
||||
<SquareCode size={11} />
|
||||
</button>
|
||||
) : (
|
||||
// No program (inline infra) — a same-size, non-interactive cell with a
|
||||
|
||||
Reference in New Issue
Block a user