e007bdd4e7
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
59 lines
2.9 KiB
HTML
59 lines
2.9 KiB
HTML
{{- $page := .context -}}
|
|
{{- $iconName := .iconName | default "globe-alt" -}}
|
|
{{- $iconHeight := .iconHeight | default 12 -}}
|
|
{{- $location := .location -}}
|
|
|
|
{{- $class := .class | default "hx:h-7 hx:px-2 hx:text-xs 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" -}}
|
|
|
|
{{- $grow := .grow -}}
|
|
{{- $hideLabel := .hideLabel | default false -}}
|
|
|
|
{{- $changeLanguage := (T "changeLanguage") | default "Change language" -}}
|
|
{{- $currentLanguageLang := site.Language.Lang -}}
|
|
{{- $currentLanguageLabel := partial "utils/hugo-compat/language-label.html" site.Language -}}
|
|
|
|
{{- if hugo.IsMultilingual -}}
|
|
<div class="hx:flex hx:justify-items-start {{ if $grow }}hx:grow{{ end }}">
|
|
<button
|
|
title="{{ $changeLanguage }}"
|
|
data-state="closed"
|
|
data-location="{{ $location }}"
|
|
class="hextra-language-switcher hx:cursor-pointer hx:rounded-md hx:text-left hx:font-medium {{ $class }} hx:grow"
|
|
type="button"
|
|
aria-label="{{ $changeLanguage }}"
|
|
aria-expanded="false"
|
|
aria-haspopup="menu"
|
|
>
|
|
<div class="hx:flex hx:items-center hx:gap-2 hx:capitalize">
|
|
{{- partial "utils/icon" (dict "name" $iconName "attributes" (printf "height=%d" $iconHeight)) -}}
|
|
{{- if not $hideLabel }}<span>{{ $currentLanguageLabel }}</span>{{ end -}}
|
|
</div>
|
|
</button>
|
|
<ul
|
|
class="hextra-language-options hx:hidden hx:z-20 hx:max-h-64 hx:overflow-auto hx:rounded-lg hx:border hx:border-gray-200 hx:bg-white hx:p-1 hx:text-sm hx:shadow-lg hx:dark:border-neutral-700 hx:dark:bg-neutral-900"
|
|
style="position: fixed; inset: auto auto 0px 0px; margin: 0px; min-width: 100px;"
|
|
role="menu"
|
|
>
|
|
{{ range partial "utils/hugo-compat/sites.html" . }}
|
|
{{- $language := .Language -}}
|
|
{{ $link := partial "utils/lang-link" (dict "lang" $language.Lang "context" $page) }}
|
|
{{- $languageLabel := partial "utils/hugo-compat/language-label.html" $language -}}
|
|
<li role="none" class="hx:flex hx:flex-col">
|
|
<a
|
|
href="{{ $link }}"
|
|
role="menuitem"
|
|
class="hx:text-gray-700 hx:dark:text-gray-300 hx:hover:bg-gray-100 hx:hover:text-gray-900 hx:dark:hover:bg-neutral-800 hx:dark:hover:text-gray-100 hx:relative hx:cursor-pointer hx:whitespace-nowrap hx:rounded-sm hx:py-1.5 hx:transition-colors hx:ltr:pl-3 hx:ltr:pr-9 hx:rtl:pr-3 hx:rtl:pl-9"
|
|
>
|
|
{{- $languageLabel -}}
|
|
{{- if eq $language.Lang $currentLanguageLang -}}
|
|
<span class="hx:absolute hx:inset-y-0 hx:flex hx:items-center hx:ltr:right-3 hx:rtl:left-3">
|
|
{{- partial "utils/icon" (dict "name" "check" "attributes" "height=1em width=1em") -}}
|
|
</span>
|
|
{{- end -}}
|
|
</a>
|
|
</li>
|
|
{{ end -}}
|
|
</ul>
|
|
</div>
|
|
{{- end -}}
|