From fef463dce58c1b642c53a8c16c0e0e4f6adbb6c7 Mon Sep 17 00:00:00 2001 From: dnviti Date: Sat, 6 Dec 2025 01:32:58 +0100 Subject: [PATCH] fix: Correct the 'Apps' tab translation key and update existing tab labels when re-opening. --- docs/development/ZENTRAL.md | 2 ++ .../2025-12-06-013500_fix_apps_tab_translation.md | 14 ++++++++++++++ .../src/components/widgets/WelcomeWidget.tsx | 2 +- src/frontend/src/contexts/TabContext.tsx | 15 ++++++++++++--- 4 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 docs/development/devlog/2025-12-06-013500_fix_apps_tab_translation.md diff --git a/docs/development/ZENTRAL.md b/docs/development/ZENTRAL.md index c6da213..2a403c0 100644 --- a/docs/development/ZENTRAL.md +++ b/docs/development/ZENTRAL.md @@ -42,3 +42,5 @@ File riassuntivo dello stato di sviluppo di Zentral. - Miglioramento UX tab: chiusura con middle-click, drag & drop, gruppi di tab personalizzati. - [2025-12-06 Tab Flicker Fix](./devlog/2025-12-06-011500_tab_flicker_fix.md) - **Completato** - Risolto problema di flicker rimuovendo l'aggiornamento manuale dello stato attivo e affidandosi esclusivamente alla sincronizzazione con l'URL. +- [2025-12-06 Fix Apps Tab Translation](./devlog/2025-12-06-013500_fix_apps_tab_translation.md) - **Completato** + - Corretta chiave di traduzione errata per la tab "Gestione Applicazioni" e migliorata la gestione dell'aggiornamento etichette tab. diff --git a/docs/development/devlog/2025-12-06-013500_fix_apps_tab_translation.md b/docs/development/devlog/2025-12-06-013500_fix_apps_tab_translation.md new file mode 100644 index 0000000..ca1570c --- /dev/null +++ b/docs/development/devlog/2025-12-06-013500_fix_apps_tab_translation.md @@ -0,0 +1,14 @@ +# Fix Apps Tab Translation + +## Stato +Completato + +## Descrizione +Risolto un problema per cui la tab "Gestione Applicazioni" mostrava il titolo "menu.modules" (chiave di traduzione errata) invece di "Applicazioni". + +## Modifiche +- Aggiornato `src/frontend/src/components/widgets/WelcomeWidget.tsx` per usare la chiave di traduzione corretta `menu.apps` invece di `menu.modules`. +- Aggiornato `src/frontend/src/contexts/TabContext.tsx` per aggiornare l'etichetta della tab se questa è già aperta ma con un'etichetta diversa. Questo corregge il problema anche per le tab già aperte o salvate in cache con l'etichetta errata. + +## Verifica +- Verificato tramite browser che cliccando sul link nel widget o nella sidebar, la tab mostra ora correttamente "Applicazioni". diff --git a/src/frontend/src/components/widgets/WelcomeWidget.tsx b/src/frontend/src/components/widgets/WelcomeWidget.tsx index ce1da54..79f18cc 100644 --- a/src/frontend/src/components/widgets/WelcomeWidget.tsx +++ b/src/frontend/src/components/widgets/WelcomeWidget.tsx @@ -32,7 +32,7 @@ export default function WelcomeWidget() { variant="contained" color="secondary" startIcon={} - onClick={() => openTab('/apps', t('menu.modules'))} + onClick={() => openTab('/apps', t('menu.apps'))} sx={{ bgcolor: 'white', color: 'primary.main', '&:hover': { bgcolor: 'grey.100' }, alignSelf: 'flex-start' }} > Manage Modules diff --git a/src/frontend/src/contexts/TabContext.tsx b/src/frontend/src/contexts/TabContext.tsx index 9fe8054..ca85db4 100644 --- a/src/frontend/src/contexts/TabContext.tsx +++ b/src/frontend/src/contexts/TabContext.tsx @@ -97,9 +97,18 @@ export function TabProvider({ children }: { children: ReactNode }) { }, [location.pathname, tabs]); const openTab = (path: string, label: string, closable: boolean = true) => { - if (!tabs.find((t) => t.path === path)) { - setTabs((prev) => [...prev, { path, label, closable }]); - } + setTabs((prev) => { + const existingTabIndex = prev.findIndex((t) => t.path === path); + if (existingTabIndex !== -1) { + if (prev[existingTabIndex].label !== label) { + const newTabs = [...prev]; + newTabs[existingTabIndex] = { ...newTabs[existingTabIndex], label }; + return newTabs; + } + return prev; + } + return [...prev, { path, label, closable }]; + }); navigate(path); };