mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-05-14 18:25:54 +00:00
46 lines
1.6 KiB
JavaScript
46 lines
1.6 KiB
JavaScript
![]() |
document.addEventListener('DOMContentLoaded', function() {
|
||
|
const defaultLocale = document.documentElement.lang || 'en_GB';
|
||
|
const storedLocale = localStorage.getItem('languageCode') || defaultLocale;
|
||
|
const dropdownItems = document.querySelectorAll('.lang_dropdown-item');
|
||
|
|
||
|
for (let i = 0; i < dropdownItems.length; i++) {
|
||
|
const item = dropdownItems[i];
|
||
|
item.classList.remove('active');
|
||
|
if (item.dataset.languageCode === storedLocale) {
|
||
|
item.classList.add('active');
|
||
|
}
|
||
|
item.addEventListener('click', handleDropdownItemClick);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
function handleDropdownItemClick(event) {
|
||
|
event.preventDefault();
|
||
|
const languageCode = this.dataset.languageCode;
|
||
|
localStorage.setItem('languageCode', languageCode);
|
||
|
|
||
|
const currentUrl = window.location.href;
|
||
|
if (currentUrl.indexOf('?lang=') === -1) {
|
||
|
window.location.href = currentUrl + '?lang=' + languageCode;
|
||
|
} else {
|
||
|
window.location.href = currentUrl.replace(/\?lang=\w{2,}/, '?lang=' + languageCode);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$(document).ready(function() {
|
||
|
$(".nav-item.dropdown").each(function() {
|
||
|
var $dropdownMenu = $(this).find(".dropdown-menu");
|
||
|
if ($dropdownMenu.children().length <= 2 && $dropdownMenu.children("hr.dropdown-divider").length === $dropdownMenu.children().length) {
|
||
|
$(this).prev('.nav-item.nav-item-separator').remove();
|
||
|
$(this).remove();
|
||
|
}
|
||
|
});
|
||
|
|
||
|
//Sort languages by alphabet
|
||
|
var list = $('.dropdown-menu[aria-labelledby="languageDropdown"]').children("a");
|
||
|
list.sort(function(a, b) {
|
||
|
var A = $(a).text().toUpperCase();
|
||
|
var B = $(b).text().toUpperCase();
|
||
|
return (A < B) ? -1 : (A > B) ? 1 : 0;
|
||
|
})
|
||
|
.appendTo('.dropdown-menu[aria-labelledby="languageDropdown"]');
|
||
|
});
|