style: aggiunta possibilità di nascondere il contatore dei ticket e note

This commit is contained in:
Gabriele Cimaschi committed 2026-09-07 18:11:16 +02:00
1 parent f21be0abcb
commit 9ae0cec0ca
3 files changed
+81 -15

No files matched your search

+57 -3
View File
@@ -209,6 +209,39 @@ const App = {
refreshBtn.addEventListener('click', () => this.refreshLookups());
}
// Reset old global hide setting if present
localStorage.removeItem('hide_sidebar_badges');
document.body.classList.remove('badges-hidden');
// Helper to check if a specific badge is hidden
this.isBadgeHidden = (badgeId) => localStorage.getItem(`hide_badge_${badgeId}`) === 'true';
// Bind click event on nav-badges to toggle individual visibility
document.querySelectorAll('.nav-badge').forEach(badge => {
if (!badge.id) return;
badge.title = 'Clicca per nascondere/mostrare questo contatore';
badge.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
const isCurrentlyHidden = this.isBadgeHidden(badge.id);
const newHiddenState = !isCurrentlyHidden;
localStorage.setItem(`hide_badge_${badge.id}`, newHiddenState ? 'true' : 'false');
if (newHiddenState) {
badge.classList.add('hidden-badge');
Toast.info('Contatore nascosto');
} else {
badge.classList.remove('hidden-badge');
Toast.info('Contatore visibile');
}
// Refresh display text for badges
this.updateSidebarBadges();
});
});
// Bind button close end of day tickets
const btnCloseEod = document.getElementById('btn-close-end-of-day');
if (btnCloseEod) {
@@ -842,19 +875,40 @@ const App = {
const badge = document.getElementById('open-ticket-count');
if (badge) {
badge.textContent = stats.total_open > 0 ? stats.total_open : '';
const isHidden = this.isBadgeHidden ? this.isBadgeHidden('open-ticket-count') : false;
if (isHidden) {
badge.classList.add('hidden-badge');
badge.textContent = '';
} else {
badge.classList.remove('hidden-badge');
badge.textContent = stats.total_open > 0 ? stats.total_open : '';
}
}
const myBadge = document.getElementById('my-ticket-count');
if (myBadge) {
myBadge.textContent = stats.total_my_open > 0 ? stats.total_my_open : '';
const isHidden = this.isBadgeHidden ? this.isBadgeHidden('my-ticket-count') : false;
if (isHidden) {
myBadge.classList.add('hidden-badge');
myBadge.textContent = '';
} else {
myBadge.classList.remove('hidden-badge');
myBadge.textContent = stats.total_my_open > 0 ? stats.total_my_open : '';
}
}
try {
const notes = await this.api('/api/notes');
const notesBadge = document.getElementById('temp-notes-count');
if (notesBadge) {
notesBadge.textContent = (notes && notes.length > 0) ? notes.length : '';
const isHidden = this.isBadgeHidden ? this.isBadgeHidden('temp-notes-count') : false;
if (isHidden) {
notesBadge.classList.add('hidden-badge');
notesBadge.textContent = '';
} else {
notesBadge.classList.remove('hidden-badge');
notesBadge.textContent = (notes && notes.length > 0) ? notes.length : '';
}
}
} catch (_) {}
} catch (e) {