{# The outcome of the last write, reported the way every page here reports it: inline as an alert, as a modal that has to be dismissed, and — on success — as a toast that outlives the swap. Included at the top of each page's panel fragment, because the fragment is what a write swaps, so this is the markup that has to carry the reason. #} {% import "ui/alert.html" as feedback_alert %} {% import "ui/dialog.html" as feedback_dialog %} {% import "ui/toast.html" as feedback_toast %} {%- if let Some(message) = page.error %}{% call feedback_alert::error("Could not continue", message) %}{% endcall %}{% endif -%} {%- if let Some(message) = page.status %}{% call feedback_toast::success("Done", message) %}{% endcall %}{% endif -%} {%- if let Some(message) = page.error %}{% call feedback_dialog::error("Could not continue", message) %}{% endcall %}{% endif -%} {% if let Some(sql) = page.sql %} {% if !sql.is_empty() %}

SQL the backend ran

{{ sql }}
{% endif %} {% endif %}