eliminato flowbit-ui
This commit is contained in:
@@ -111,16 +111,6 @@
|
||||
return !!dictionaries[normalizeLang(lang)];
|
||||
}
|
||||
|
||||
function persistLangPreference(lang) {
|
||||
if (!IS_AUTHENTICATED) return;
|
||||
fetch('/preferences/lang', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
credentials: 'same-origin',
|
||||
body: JSON.stringify({ lang: lang })
|
||||
}).catch(function () {});
|
||||
}
|
||||
|
||||
function getLang() {
|
||||
var serverLang = normalizeLang(SERVER_LANG);
|
||||
if (IS_AUTHENTICATED && isSupportedLang(serverLang)) {
|
||||
@@ -166,20 +156,9 @@
|
||||
function applyTranslations(root) {
|
||||
var lang = getLang();
|
||||
document.documentElement.setAttribute('lang', lang.replace('_', '-'));
|
||||
var label = document.getElementById('lang-current');
|
||||
var langSelect = document.getElementById('lang-select');
|
||||
var flag = document.getElementById('lang-flag');
|
||||
if (label) {
|
||||
var labels = {
|
||||
it: 'Italiano',
|
||||
en: 'English',
|
||||
en_us: 'English USA',
|
||||
de: 'Deutsch',
|
||||
fr: 'Français',
|
||||
de_ch: 'Deutsch CH',
|
||||
fr_ch: 'Français CH'
|
||||
};
|
||||
label.textContent = labels[lang] || 'Italiano';
|
||||
}
|
||||
if (langSelect && langSelect.value !== lang) langSelect.value = lang;
|
||||
if (flag) {
|
||||
var flags = {
|
||||
it: '/static/vendor/flags/it.svg',
|
||||
@@ -219,47 +198,14 @@
|
||||
});
|
||||
}
|
||||
|
||||
document.querySelectorAll('[data-lang-select]').forEach(function (btn) {
|
||||
btn.addEventListener('click', function () {
|
||||
var selectedLang = normalizeLang(btn.getAttribute('data-lang-select'));
|
||||
var langSelect = document.getElementById('lang-select');
|
||||
if (langSelect) {
|
||||
langSelect.addEventListener('change', function () {
|
||||
var selectedLang = normalizeLang(langSelect.value);
|
||||
localStorage.setItem(STORAGE_KEY, selectedLang);
|
||||
persistLangPreference(selectedLang);
|
||||
applyTranslations(document);
|
||||
var dropdownInstance = window.FlowbiteInstances && window.FlowbiteInstances.getInstance
|
||||
? window.FlowbiteInstances.getInstance('Dropdown', 'lang-dropdown')
|
||||
: null;
|
||||
if (dropdownInstance && typeof dropdownInstance.hide === 'function') {
|
||||
dropdownInstance.hide();
|
||||
return;
|
||||
}
|
||||
var langButton = document.getElementById('lang-menu-button');
|
||||
var langDropdown = document.getElementById('lang-dropdown');
|
||||
if (langDropdown) langDropdown.classList.add('hidden');
|
||||
if (langButton) langButton.setAttribute('aria-expanded', 'false');
|
||||
});
|
||||
});
|
||||
|
||||
document.querySelectorAll('[data-page-size-option]').forEach(function (btn) {
|
||||
btn.addEventListener('click', function () {
|
||||
var value = btn.getAttribute('data-page-size-option');
|
||||
var input = document.getElementById('users-size-value');
|
||||
var label = document.getElementById('users-size-label');
|
||||
if (input) input.value = value;
|
||||
if (label) label.textContent = value;
|
||||
|
||||
var dropdownInstance = window.FlowbiteInstances && window.FlowbiteInstances.getInstance
|
||||
? window.FlowbiteInstances.getInstance('Dropdown', 'users-size-dropdown')
|
||||
: null;
|
||||
if (dropdownInstance && typeof dropdownInstance.hide === 'function') {
|
||||
dropdownInstance.hide();
|
||||
return;
|
||||
}
|
||||
var button = document.getElementById('users-size-button');
|
||||
var dropdown = document.getElementById('users-size-dropdown');
|
||||
if (dropdown) dropdown.classList.add('hidden');
|
||||
if (button) button.setAttribute('aria-expanded', 'false');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function reinitFlowbiteComponents(target) {
|
||||
if (typeof window.initDropdowns === 'function') window.initDropdowns();
|
||||
|
||||
Reference in New Issue
Block a user