export default()

in src/frontend/src/components/Alert.tsx [31:72]


export default ({ mode, text, className }: AlertProps) => {
  let icon;

  switch (mode) {
    case "info":
      icon = <InformationCircleIcon className="w-8 h-8" />;
      break;
    case "loading":
      icon = <ClockIcon className="w-8 h-8" />;
      break;
    case "success":
      icon = <CheckCircleIcon className="w-8 h-8" />;
      break;
    case "error":
      icon = <XCircleIcon className="w-8 h-8" />;
      break;
    default:
      icon = null;
  }

  return (
    <div
      className={clsx(
        className,
        "flex items-center px-4 py-3 rounded",
        "items-center",
        "gap-4",
        {
          "bg-blue-100 border border-blue-400 text-blue-700":
            mode === "info" || mode === "loading",
          "bg-green-100 border border-green-400 text-green-700":
            mode === "success",
          "bg-red-100 border border-red-400 text-red-700": mode === "error",
        }
      )}
      role="alert"
    >
      {icon}
      <span className="block sm:inline">{text}</span>
    </div>
  );
};