import DeleteIcon from "@mui/icons-material/Delete";
import SendIcon from "@mui/icons-material/Send";
import DownloadIcon from "@mui/icons-material/Download";
import PersonIcon from "@mui/icons-material/Person";
import EditIcon from "@mui/icons-material/Edit";
import AddNoteIcon from "@mui/icons-material/PlaylistAdd";
import ApproveIcon from "@mui/icons-material/TaskAltOutlined";
import RejectIcon from "@mui/icons-material/ClearTwoTone";
import BackIcon from "@mui/icons-material/ReplyTwoTone";
import BackIcon2 from "@mui/icons-material/ArrowBackIosNewTwoTone";
import SearchIcon from "@mui/icons-material/Search";
import SummarizeOutlinedIcon from "@mui/icons-material/SummarizeOutlined";
import RemoveRedEyeOutlinedIcon from "@mui/icons-material/RemoveRedEyeOutlined";
import NotificationImportantOutlinedIcon from "@mui/icons-material/NotificationImportantOutlined";
import RefreshOutlinedIcon from "@mui/icons-material/RefreshOutlined";
import ErrorOutlineOutlinedIcon from "@mui/icons-material/ErrorOutlineOutlined";
import PendingActionsOutlinedIcon from "@mui/icons-material/PendingActionsOutlined";
import PauseIcon from "@mui/icons-material/Pause";
import PlayArrowIcon from "@mui/icons-material/PlayArrow";
import CloseIcon from "@mui/icons-material/Close";
import ReplayIcon from "@mui/icons-material/Replay";

export function getIcon(iconName: string, data: any) {
  switch (iconName) {
    case "PauseIcon":
      return <PauseIcon sx={{ ...data?.iconStyle }} />;
    case "PlayIcon":
      return <PlayArrowIcon sx={{ ...data?.iconStyle }} />;
    case "CloseIcon":
      return <CloseIcon sx={{ ...data?.iconStyle }} />;
    case "ReplayIcon":
      return <ReplayIcon sx={{ ...data?.iconStyle }} />;
    case "DeleteIcon":
      return <DeleteIcon sx={{ ...data?.iconStyle }} />;
    case "SendIcon":
      return <SendIcon sx={{ ...data?.iconStyle }} />;
    case "AddIcon":
      return <AddNoteIcon sx={{ ...data?.iconStyle }} />;
    case "EditIcon":
      return <EditIcon sx={{ ...data?.iconStyle }} />;
    case "ApproveIcon":
      return <ApproveIcon sx={{ ...data?.iconStyle }} />;
    case "RejectIcon":
      return <RejectIcon sx={{ ...data?.iconStyle }} />;
    case "BackIcon":
      return <BackIcon sx={{ ...data?.iconStyle }} />;
    case "PendingIcon":
      return <PendingActionsOutlinedIcon sx={{ ...data?.iconStyle }} />;
    case "BackIcon2":
      return <BackIcon2 sx={{ ...data?.iconStyle }} />;
    case "ViewIcon":
      return <RemoveRedEyeOutlinedIcon sx={{ ...data?.iconStyle }} />;
    case "NotificationIcon":
      return <NotificationImportantOutlinedIcon sx={{ ...data?.iconStyle }} />;
    case "PersonIcon":
      return <PersonIcon sx={{ ...data?.iconStyle }} />;
    case "ReportIcon":
      return <SummarizeOutlinedIcon sx={{ ...data?.iconStyle }} />;
    case "ErrorIcon":
      return (
        <ErrorOutlineOutlinedIcon color="error" sx={{ ...data?.iconStyle }} />
      );
    case "RefreshIcon":
      return <RefreshOutlinedIcon sx={{ ...data?.iconStyle }} />;
    case "DownloadIcon":
      return <DownloadIcon sx={{ ...data?.iconStyle }} />;
    case "SearchIcon":
      return <SearchIcon sx={{ ...data?.iconStyle }} />;
  }
}
