Skip to content

Commit b6fbd4f

Browse files
committed
Move language switcher position based on user login state
1 parent 36f7432 commit b6fbd4f

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

public/js/components/pf-header.js

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,8 +316,7 @@ class PfHeader extends HTMLElement {
316316
<a href="/login" class="nav-link login-link" id="login-link" data-i18n="navigation.login">${loginText}</a>
317317
<a href="/register" class="subscription-link register-link" id="register-link" data-i18n="navigation.register">${registerText}</a>
318318
319-
<!-- Language Switcher -->
320-
<language-switcher></language-switcher>
319+
<!-- Language Switcher moved after user dropdown in updateNavbar() -->
321320
322321
<button class="theme-toggle" title="Toggle light/dark theme">
323322
${this.currentTheme === 'dark'
@@ -597,6 +596,24 @@ class PfHeader extends HTMLElement {
597596
// Insert before the theme toggle
598597
themeToggle.insertAdjacentHTML('beforebegin', dropdownHtml);
599598
console.log('Dropdown inserted before theme toggle');
599+
600+
// Move language switcher after user dropdown
601+
const languageSwitcher = navLinks.querySelector('language-switcher');
602+
if (languageSwitcher) {
603+
const userDropdown = navLinks.querySelector('.user-dropdown');
604+
if (userDropdown) {
605+
// Move language switcher after user dropdown
606+
userDropdown.insertAdjacentElement('afterend', languageSwitcher);
607+
console.log('Language switcher moved after user dropdown');
608+
}
609+
} else {
610+
// If language switcher doesn't exist yet, create it
611+
const userDropdown = navLinks.querySelector('.user-dropdown');
612+
if (userDropdown) {
613+
userDropdown.insertAdjacentHTML('afterend', '<language-switcher></language-switcher>');
614+
console.log('Language switcher created after user dropdown');
615+
}
616+
}
600617
} else {
601618
// Fallback: append to the end of nav links
602619
navLinks.insertAdjacentHTML('beforeend', dropdownHtml);
@@ -729,6 +746,18 @@ class PfHeader extends HTMLElement {
729746
const mobileLogoutLink = mobileMenu?.querySelector('.mobile-logout-link');
730747
if (mobileSettingsLink) mobileSettingsLink.remove();
731748
if (mobileLogoutLink) mobileLogoutLink.remove();
749+
750+
// Move language switcher before theme toggle when logged out
751+
const languageSwitcher = navLinks.querySelector('language-switcher');
752+
const themeToggle = navLinks.querySelector('.theme-toggle');
753+
if (languageSwitcher && themeToggle) {
754+
themeToggle.insertAdjacentElement('beforebegin', languageSwitcher);
755+
console.log('Language switcher moved before theme toggle (logged out)');
756+
} else if (!languageSwitcher && themeToggle) {
757+
// If language switcher doesn't exist yet, create it
758+
themeToggle.insertAdjacentHTML('beforebegin', '<language-switcher></language-switcher>');
759+
console.log('Language switcher created before theme toggle (logged out)');
760+
}
732761
}
733762
}
734763

0 commit comments

Comments
 (0)