blob: a615d798602f538880e36316d1201f9a734f318d [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}`);
}
}