Files
xrpl-dev-portal/resources/dev-tools/components/AlertTemplate.tsx
2026-08-28 12:29:17 -07:00

42 lines
1.0 KiB
TypeScript

import clsx from 'clsx'
import * as React from 'react'
import { useThemeHooks } from '@redocly/theme/core/hooks'
const alertStyle = {
position: "relative",
margin: "0px",
zIndex: "9999",
}
function typeToClass(type: string): string {
if(type === "error") {
return "alert-danger"
} else if(type === "success") {
return "alert-success"
} else if(type === "info") {
return "alert-info"
} else {
return ""
}
}
interface AlertTemplateProps {
message: string
options: {
type: string
}
style: any
close: any // Callback to close the alert early
}
export default function AlertTemplate ({ message, options, style, close }: AlertTemplateProps): React.JSX.Element {
const { useTranslate } = useThemeHooks()
const { translate } = useTranslate()
return(
<div className={clsx("bootstrap-growl alert alert-dismissible", typeToClass(options.type))} style={{ ...alertStyle, ...style }}>
<button className="btn-close" type="button" aria-label={translate("Close")} onClick={close} />
{message}
</div>
)
}