fix: replace Pug language picker dropdown with native select
Build and Deploy Verso / deploy (push) Successful in 14m31s
Build and Deploy Verso / deploy (push) Successful in 14m31s
The old dropdown relied on data-bs-toggle and AngularJS directives, neither of which are loaded on React-layout pages (layout-react.pug intentionally excludes Bootstrap JS). The toggle button was inert on pages like /user/settings. Replace with a plain <select> that navigates via window.location.href onchange — works without any framework on all page types. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,35 +1,10 @@
|
|||||||
include ../_mixins/material_symbol
|
li.language-picker
|
||||||
|
select.language-picker-select(
|
||||||
li.dropdown.dropup.subdued.language-picker(dropdown)
|
name='lng'
|
||||||
button#language-picker-toggle.btn.btn-link.btn-inline-link(
|
translate='no'
|
||||||
dropdown-toggle
|
onchange='window.location.href="/set-language?lng="+encodeURIComponent(this.value)+"&return_to="+encodeURIComponent(window.location.pathname)'
|
||||||
data-ol-lang-selector-tooltip
|
aria-label=translate('select_a_language')
|
||||||
data-bs-toggle='dropdown'
|
|
||||||
aria-haspopup='true'
|
|
||||||
aria-expanded='false'
|
|
||||||
aria-label='Select ' + translate('language')
|
|
||||||
tooltip=translate('language')
|
|
||||||
title=translate('language')
|
|
||||||
)
|
)
|
||||||
+material-symbol('translate')
|
|
||||||
|
|
|
||||||
span.language-picker-text #{settings.translatedLanguages[currentLngCode] || currentLngCode}
|
|
||||||
|
|
||||||
ul.dropdown-menu.dropdown-menu-sm-width(
|
|
||||||
role='menu'
|
|
||||||
aria-labelledby='language-picker-toggle'
|
|
||||||
)
|
|
||||||
li.dropdown-header #{translate("language")}
|
|
||||||
each lngCode in availableLanguages
|
each lngCode in availableLanguages
|
||||||
if settings.translatedLanguages[lngCode]
|
if settings.translatedLanguages[lngCode]
|
||||||
- let isActive = lngCode === currentLngCode
|
option(value=lngCode selected=lngCode === currentLngCode)= settings.translatedLanguages[lngCode]
|
||||||
li.lng-option
|
|
||||||
a.menu-indent(
|
|
||||||
href='/set-language?lng=' + lngCode
|
|
||||||
role='menuitem'
|
|
||||||
class=['dropdown-item', {active: isActive}]
|
|
||||||
aria-selected=isActive ? 'true' : 'false'
|
|
||||||
)
|
|
||||||
| #{settings.translatedLanguages[lngCode]}
|
|
||||||
if isActive
|
|
||||||
+material-symbol('check', 'dropdown-item-trailing-icon')
|
|
||||||
|
|||||||
Reference in New Issue
Block a user