{# Inline failure alert — Penguin UI's danger alert, taken from penguinui-components/alert/alert-dismiss-functionality.html. Unlike the toast, this component carries its copy in the markup, so it cannot be `{% include %}`d from the library the way ui/toast.html's stack is: the library file says "Invalid Email Address". This is that file's danger variant with its two text nodes replaced by `{{ title }}` and `{{ message }}` and nothing else touched — every class, the x-data, the leave transition and the dismiss button are the library's. Two additions, both about this app's content rather than the component's look: `mt-4` for the gap from the form above, and `whitespace-pre-wrap` because the server's messages are multi-line. Failures only. A success is ui/toast.html, which says its piece and then removes itself rather than staying in the layout; an error has to stay until it is read, so it is this. {% import "ui/alert.html" as alert %} {% call alert::error("Could not create the table", message) %}{% endcall %} An error is normally paired with ui/dialog.html, which is what actually puts the message in front of someone who has scrolled away from the top of a form. #} {% macro error(locale, title, message) %} {% endmacro %}