keycloak-scim/src/components/alert/AlertPanel.tsx

46 lines
991 B
TypeScript
Raw Normal View History

import React from "react";
2020-08-07 13:44:34 +00:00
import {
AlertGroup,
Alert,
AlertActionCloseButton,
AlertVariant,
} from "@patternfly/react-core";
2020-08-07 13:44:34 +00:00
export type AlertType = {
key: number;
message: string;
variant: AlertVariant;
description?: string;
2020-08-07 13:44:34 +00:00
};
type AlertPanelProps = {
alerts: AlertType[];
onCloseAlert: (key: number) => void;
};
export function AlertPanel({ alerts, onCloseAlert }: AlertPanelProps) {
return (
<AlertGroup isToast>
{alerts.map(({ key, variant, message, description }) => (
<>
<Alert
key={key}
isLiveRegion
variant={AlertVariant[variant]}
variantLabel=""
title={message}
actionClose={
<AlertActionCloseButton
title={message}
onClose={() => onCloseAlert(key)}
/>
}
>
{description && <p>{description}</p>}
</Alert>
</>
2020-08-07 13:44:34 +00:00
))}
</AlertGroup>
);
}