eliminato flowbit-ui

This commit is contained in:
fabio
2026-03-01 17:19:23 +01:00
parent b852f656d4
commit a5dda58555
13 changed files with 51 additions and 1439 deletions

View File

@@ -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();