import {
  MaterialIcon,
  type MaterialIconSetIconProps,
} from "@scandic-hotels/design-system/Icons/MaterialIcon"

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

interface IconByAlertProps {
  alertType: AlertTypeEnum
}

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