blob: c99e4f5b7dabc233673fc1ab73820a82eb335f41 [file] [log] [blame]
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}`);
}
}