| import { NodeType } from "@/lib/state"; |
| import { ReactElement } from "react"; |
| import { SiGithub, SiMongodb, SiPostgresql } from "react-icons/si"; |
| import { GrServices } from "react-icons/gr"; |
| import { GoFileDirectoryFill } from "react-icons/go"; |
| import { TbWorldWww } from "react-icons/tb"; |
| import { PiNetwork } from "react-icons/pi"; |
| import { AiOutlineGlobal } from "react-icons/ai"; |
| |
| export function Icon(type: NodeType | undefined): ReactElement { |
| switch (type) { |
| case "app": return (<GrServices />); |
| case "github": return (<SiGithub />); |
| case "gateway-https": return (<TbWorldWww />); |
| case "gateway-tcp": return (<PiNetwork />); |
| case "mongodb": return (<SiMongodb />); |
| case "postgresql": return (<SiPostgresql />); |
| case "volume": return (<GoFileDirectoryFill />); |
| case "network": return (<AiOutlineGlobal />); |
| default: throw new Error(`MUST NOT REACH! ${type}`); |
| } |
| } |