import { EuiCallOut, EuiLink, EuiSpacer } from "@elastic/eui"; import React from "react"; import { ROUTES } from "../../utils/constants"; import { ActionType, OperationType, OperationTypeMapTitle } from "../../pages/Notifications/constant"; import { getPermissionValue } from "./hooks"; export interface INotificationCalloutProps { hasDefaultNotification: boolean; operationType?: OperationType; actionType: ActionType; permissionForViewLRON: boolean; permissionForCreateLRON: boolean; } export default function NotificationCallout(props: INotificationCalloutProps) { const { hasDefaultNotification, operationType, actionType, permissionForCreateLRON, permissionForViewLRON } = props; const permissionValue = getPermissionValue(permissionForViewLRON, permissionForCreateLRON, hasDefaultNotification); if (permissionValue === "110") { return null; } let title: React.ReactChild = <>; switch (permissionValue) { case "000": title = ( <> Your administrator may have set default notification settings for {OperationTypeMapTitle[operationType || actionType]} operations. Contact your administrator to request access. ); break; case "010": title = ( <> Your administrator may have set default notification settings for {OperationTypeMapTitle[operationType || actionType]} operations. You can send additional notifications for this operation. ); break; case "100": title = ( <> Your administrator has not set default notification settings for {OperationTypeMapTitle[operationType || actionType]} operations. ); break; case "101": title = ( <> Your administrator has set default notification settings for {OperationTypeMapTitle[operationType || actionType]} operations. Contact your administrator to request access. ); break; case "111": title = ( <> Default notification settings are set for {OperationTypeMapTitle[operationType || actionType]} operations. Configure default settings at{" "} Notifications settings . ); break; } return ( <> ); }