/* eslint-disable react/display-name */
import {
  MaterialIcon,
  type MaterialIconSetIconProps,
} from "@scandic-hotels/design-system/Icons"

import { AlertTypeEnum } from "@/types/enums/alert"

export function getIconByAlertType(alertType: AlertTypeEnum) {
  switch (alertType) {
    case AlertTypeEnum.Alarm:
      return function (props: MaterialIconSetIconProps) {
        return (
          <MaterialIcon
            color="Icon/Inverted"
            isFilled
            icon="cancel"
            {...props}
          />
        )
      }
    case AlertTypeEnum.Warning:
      return function (props: MaterialIconSetIconProps) {
        return (
          <MaterialIcon
            icon="warning"
            color="Icon/Inverted"
            isFilled
            {...props}
          />
        )
      }
    case AlertTypeEnum.Info:
    default:
      return function (props: MaterialIconSetIconProps) {
        return (
          <MaterialIcon color="Icon/Inverted" isFilled icon="info" {...props} />
        )
      }
  }
}
