ef958dffe5
- Language switch now does full page reload so chat reinitializes - Replaced boring "Initializing AI model..." with 14 fun random phrases - Phrases are bilingual (ES/EN), CV-themed, with emojis
38 lines
1.5 KiB
HTML
38 lines
1.5 KiB
HTML
{{define "language-selector"}}
|
|
<!-- Language selector with atomic updates via out-of-band swaps -->
|
|
<!-- Skeleton loading handled by global body-level hyperscript listener -->
|
|
<div class="language-selector-wrapper">
|
|
<!-- Loading indicators placed outside swap target so they persist -->
|
|
<!-- Using span wrapper to avoid shadow DOM issues with iconify-icon -->
|
|
<span id="lang-indicator-en" class="htmx-indicator small">
|
|
<iconify-icon icon="mdi:loading"
|
|
class="spinning light"
|
|
width="14"
|
|
height="14"
|
|
aria-label="Loading"></iconify-icon>
|
|
</span>
|
|
<span id="lang-indicator-es" class="htmx-indicator small">
|
|
<iconify-icon icon="mdi:loading"
|
|
class="spinning light"
|
|
width="14"
|
|
height="14"
|
|
aria-label="Loading"></iconify-icon>
|
|
</span>
|
|
|
|
<div class="language-selector" id="language-selector">
|
|
<button class="selector-btn {{if eq .Lang "en"}}active{{end}}"
|
|
data-short="EN"
|
|
onclick="window.location.href='/?lang=en'"
|
|
aria-label="English">
|
|
<span>English</span>
|
|
</button>
|
|
<button class="selector-btn {{if eq .Lang "es"}}active{{end}}"
|
|
data-short="ES"
|
|
onclick="window.location.href='/?lang=es'"
|
|
aria-label="Español">
|
|
<span>Español</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
{{end}}
|