mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-15 05:53:09 +00:00
62 lines
2.6 KiB
HTML
62 lines
2.6 KiB
HTML
<!--
|
|
Displays an alert. The shortcode supports the following arguments:
|
|
"color": Optional theme color of the alert, either "primary" (default), "secondary", "success", "danger",
|
|
"warning", "info", "light", "dark", "white" or "black".
|
|
"dismissible" Optional flag to indicate the alert is dismissible, defaults to false.
|
|
"icon" Optional class and name of a Font Awesome icon to include.
|
|
"type" Optional type of the alert, either "danger" or "info". Generates an alert with related color and
|
|
icon.
|
|
"class": Optional class attribute of the alert element.
|
|
-->
|
|
|
|
{{- $error := false -}}
|
|
{{ $color := "primary" -}}
|
|
{{ $icon := "" }}
|
|
{{ $type := "" -}}
|
|
|
|
{{ with .Get "type" }}{{ $type = . }}{{ end -}}
|
|
{{ $supportedTypes := slice "danger" "info" -}}
|
|
{{ if $type }}
|
|
{{ if not (in $supportedTypes $type) -}}
|
|
{{ errorf "Invalid value for param 'type': %s" .Position -}}
|
|
{{ $error = true -}}
|
|
{{ else }}
|
|
{{ $color = $type }}
|
|
{{ if eq $type "danger" }}{{ $icon = "fas triangle-exclamation" }}{{ else }}{{ $icon = "fa lightbulb" }}{{ end }}
|
|
{{ end -}}
|
|
{{ end -}}
|
|
|
|
{{ with .Get "color" }}{{ $color = . }}{{ end -}}
|
|
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" -}}
|
|
{{ if not (in $supportedColors $color) -}}
|
|
{{ errorf "Invalid value for param 'color': %s" .Position -}}
|
|
{{ $error = true -}}
|
|
{{ end -}}
|
|
|
|
{{ with .Get "icon" }}{{ $icon = . }}{{ end }}
|
|
{{ with $icon }}
|
|
{{ $icon = partial "assets/icon.html" (dict "icon" (printf "%s fa-2x fa-fw" .)) }}
|
|
{{ end }}
|
|
|
|
{{ $dismissibleParam := "false" -}}
|
|
{{ $dismissible := false -}}
|
|
{{ with .Get "dismissible" }}{{ $dismissibleParam = . }}{{ end -}}
|
|
{{ $supportedFlags := slice "true" "false" -}}
|
|
{{ if in $supportedFlags $dismissibleParam -}}
|
|
{{ if eq $dismissibleParam "true" }}{{ $dismissible = true }}{{ end -}}
|
|
{{ else -}}
|
|
{{ errorf "Invalid value for param 'dismissible': %s" .Position -}}
|
|
{{ $error = true -}}
|
|
{{ end -}}
|
|
|
|
{{- $class := .Get "class" | default "" -}}
|
|
|
|
{{- if not $error -}}
|
|
<div class="d-flex alert alert-{{ $color }} {{ if $dismissible }}alert-dismissible fade show{{ end }}{{ with $class }} {{ . }}{{ end }}" role="alert">
|
|
{{ with $icon }}<div class="pt-1 pe-2">{{ . }}</div>{{ end }}
|
|
<div class="flex-grow-1 my-auto">
|
|
{{ trim .Inner " \r\n" | .Page.RenderString | safeHTML -}}
|
|
{{ if $dismissible }}<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>{{ end }}
|
|
</div>
|
|
</div>
|
|
{{- end -}} |