forked from farhoodlabs/paperclip
8232456ce8
Co-Authored-By: Paperclip <noreply@paperclip.ing>
99 lines
1.6 KiB
TypeScript
99 lines
1.6 KiB
TypeScript
import {
|
|
Atom,
|
|
Bot,
|
|
Brain,
|
|
Bug,
|
|
CircuitBoard,
|
|
Code,
|
|
Cog,
|
|
Cpu,
|
|
Crown,
|
|
Database,
|
|
Eye,
|
|
FileCode,
|
|
Fingerprint,
|
|
Flame,
|
|
Gem,
|
|
GitBranch,
|
|
Globe,
|
|
Hammer,
|
|
Heart,
|
|
Hexagon,
|
|
Lightbulb,
|
|
Lock,
|
|
Mail,
|
|
MessageSquare,
|
|
Microscope,
|
|
Package,
|
|
Pentagon,
|
|
Puzzle,
|
|
Radar,
|
|
Rocket,
|
|
Search,
|
|
Shield,
|
|
Sparkles,
|
|
Star,
|
|
Swords,
|
|
Target,
|
|
Telescope,
|
|
Terminal,
|
|
Wand2,
|
|
Wrench,
|
|
Zap,
|
|
type LucideIcon,
|
|
} from "lucide-react";
|
|
import { AGENT_ICON_NAMES, type AgentIconName } from "@paperclipai/shared";
|
|
|
|
export const AGENT_ICONS: Record<AgentIconName, LucideIcon> = {
|
|
bot: Bot,
|
|
cpu: Cpu,
|
|
brain: Brain,
|
|
zap: Zap,
|
|
rocket: Rocket,
|
|
code: Code,
|
|
terminal: Terminal,
|
|
shield: Shield,
|
|
eye: Eye,
|
|
search: Search,
|
|
wrench: Wrench,
|
|
hammer: Hammer,
|
|
lightbulb: Lightbulb,
|
|
sparkles: Sparkles,
|
|
star: Star,
|
|
heart: Heart,
|
|
flame: Flame,
|
|
bug: Bug,
|
|
cog: Cog,
|
|
database: Database,
|
|
globe: Globe,
|
|
lock: Lock,
|
|
mail: Mail,
|
|
"message-square": MessageSquare,
|
|
"file-code": FileCode,
|
|
"git-branch": GitBranch,
|
|
package: Package,
|
|
puzzle: Puzzle,
|
|
target: Target,
|
|
wand: Wand2,
|
|
atom: Atom,
|
|
"circuit-board": CircuitBoard,
|
|
radar: Radar,
|
|
swords: Swords,
|
|
telescope: Telescope,
|
|
microscope: Microscope,
|
|
crown: Crown,
|
|
gem: Gem,
|
|
hexagon: Hexagon,
|
|
pentagon: Pentagon,
|
|
fingerprint: Fingerprint,
|
|
};
|
|
|
|
const DEFAULT_ICON: AgentIconName = "bot";
|
|
|
|
export function getAgentIcon(iconName: string | null | undefined): LucideIcon {
|
|
if (iconName && AGENT_ICON_NAMES.includes(iconName as AgentIconName)) {
|
|
return AGENT_ICONS[iconName as AgentIconName];
|
|
}
|
|
return AGENT_ICONS[DEFAULT_ICON];
|
|
}
|