2023-08-13 22:18:20 +01:00
|
|
|
{{- $page := .context -}}
|
|
|
|
|
|
|
|
{{- $grow := .grow -}}
|
|
|
|
{{- $hideLabel := .hideLabel | default false -}}
|
|
|
|
|
2023-08-27 17:32:44 +01:00
|
|
|
{{- $changeLanguage := (T "changeLanguage") | default "Change language" -}}
|
|
|
|
|
2024-05-29 10:11:25 +02:00
|
|
|
{{- if hugo.IsMultilingual -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
<div class="hx:flex hx:justify-items-start {{ if $grow }}hx:grow{{ end }}">
|
2023-08-27 17:32:44 +01:00
|
|
|
<button
|
|
|
|
title="{{ $changeLanguage }}"
|
|
|
|
data-state="closed"
|
2025-03-29 12:51:42 +00:00
|
|
|
class="language-switcher hx:cursor-pointer hx:h-7 hx:rounded-md hx:px-2 hx:text-left hx:text-xs hx:font-medium hx:text-gray-600 hx:transition-colors hx:dark:text-gray-400 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:dark:hover:bg-primary-100/5 hx:dark:hover:text-gray-50 hx:grow"
|
2023-08-27 17:32:44 +01:00
|
|
|
type="button"
|
|
|
|
aria-label="{{ $changeLanguage }}"
|
|
|
|
>
|
2025-03-29 12:51:42 +00:00
|
|
|
<div class="hx:flex hx:items-center hx:gap-2 hx:capitalize">
|
2023-08-15 21:55:14 +01:00
|
|
|
{{- partial "utils/icon" (dict "name" "globe-alt" "attributes" "height=12") -}}
|
2023-08-13 22:18:20 +01:00
|
|
|
{{- if not $hideLabel }}<span>{{ site.Language.LanguageName }}</span>{{ end -}}
|
|
|
|
</div>
|
|
|
|
</button>
|
2023-08-27 17:32:44 +01:00
|
|
|
<ul
|
2025-03-29 12:51:42 +00:00
|
|
|
class="language-options hx:hidden hx:z-20 hx:max-h-64 hx:overflow-auto hx:rounded-md hx:ring-1 hx:ring-black/5 hx:bg-white hx:py-1 hx:text-sm hx:shadow-lg hx:dark:ring-white/20 hx:dark:bg-neutral-800"
|
2023-08-27 17:32:44 +01:00
|
|
|
style="position: fixed; inset: auto auto 0px 0px; margin: 0px; min-width: 100px;"
|
|
|
|
>
|
2023-08-13 22:18:20 +01:00
|
|
|
{{ range site.Languages }}
|
|
|
|
{{ $link := partial "utils/lang-link" (dict "lang" .Lang "context" $page) }}
|
2025-03-29 12:51:42 +00:00
|
|
|
<li class="hx:flex hx:flex-col">
|
2023-08-27 17:32:44 +01:00
|
|
|
<a
|
|
|
|
href="{{ $link }}"
|
2025-03-29 12:51:42 +00:00
|
|
|
class="hx:text-gray-800 hx:dark:text-gray-100 hx:hover:bg-primary-50 hx:hover:text-primary-600 hx:hover:dark:bg-primary-500/10 hx:hover:dark:text-primary-600 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9"
|
2023-08-27 17:32:44 +01:00
|
|
|
>
|
2023-08-13 22:18:20 +01:00
|
|
|
{{- .LanguageName -}}
|
|
|
|
{{- if eq .LanguageName site.Language.LanguageName -}}
|
2025-03-29 12:51:42 +00:00
|
|
|
<span class="hx:absolute hx:inset-y-0 hx:flex hx:items-center hx:ltr:right-3 hx:rtl:left-3">
|
2023-08-13 22:18:20 +01:00
|
|
|
{{- partial "utils/icon" (dict "name" "check" "attributes" "height=1em width=1em") -}}
|
|
|
|
</span>
|
|
|
|
{{- end -}}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
{{ end -}}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
{{- end -}}
|