Files
Verso/services/web/app/views/layout/language-picker.pug
T
claude 685a7ffca1
Build and Deploy Verso / deploy (push) Successful in 14m34s
fix: language picker links, dropdown position, and editor layout defaults
Language picker:
- Add fallback href in Pug so language links navigate even if JS fails
- Anchor dropdown to right edge (right:0) so it stays on-screen when
  the picker is near the right side of the footer on mobile

Editor layout:
- Read stored pdfLayout from localStorage on init so the last-used
  layout is remembered across sessions
- Default to verticalSplit (top/bottom) on mobile when no preference
  is stored, so the editor opens in a sensible layout on phones

Translations:
- Add top_bottom_split_view key to all 16 locales that were missing it

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-16 14:40:02 +00:00

44 lines
1.4 KiB
Plaintext

li.language-picker
details.language-picker-details
summary#language-picker-toggle.btn-inline-link(
aria-label=translate('select_a_language')
translate='no'
)
span.material-symbols translate
| &nbsp;
span.language-picker-text= settings.translatedLanguages[currentLngCode] || currentLngCode
ul.dropdown-menu.dropdown-menu-sm-width(
role='menu'
aria-labelledby='language-picker-toggle'
translate='no'
)
each lngCode in availableLanguages
if settings.translatedLanguages[lngCode]
li(role='none')
a.dropdown-item(
role='menuitem'
href='/set-language?lng=' + encodeURIComponent(lngCode) + '&return_to=/'
data-lng=lngCode
class=lngCode === currentLngCode ? 'active' : ''
)= settings.translatedLanguages[lngCode]
script.
(function () {
var details = document.querySelector('.language-picker-details')
var menu = details && details.querySelector('.dropdown-menu')
if (!details || !menu) return
menu.querySelectorAll('a[data-lng]').forEach(function (a) {
var lng = a.getAttribute('data-lng')
a.href =
'/set-language?lng=' +
encodeURIComponent(lng) +
'&return_to=' +
encodeURIComponent(window.location.pathname)
})
document.addEventListener('click', function (e) {
if (!details.contains(e.target)) details.open = false
})
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape') details.open = false
})
})()