fix: Correct the 'Apps' tab translation key and update existing tab labels when re-opening.

This commit is contained in:
2025-12-06 01:32:58 +01:00
parent 20e0f6e81c
commit fef463dce5
4 changed files with 29 additions and 4 deletions

View File

@@ -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.

View File

@@ -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".

View File

@@ -32,7 +32,7 @@ export default function WelcomeWidget() {
variant="contained"
color="secondary"
startIcon={<SettingsIcon />}
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

View File

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