fix: Correct the 'Apps' tab translation key and update existing tab labels when re-opening.
This commit is contained in:
@@ -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.
|
- 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**
|
- [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.
|
- 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.
|
||||||
|
|||||||
@@ -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".
|
||||||
@@ -32,7 +32,7 @@ export default function WelcomeWidget() {
|
|||||||
variant="contained"
|
variant="contained"
|
||||||
color="secondary"
|
color="secondary"
|
||||||
startIcon={<SettingsIcon />}
|
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' }}
|
sx={{ bgcolor: 'white', color: 'primary.main', '&:hover': { bgcolor: 'grey.100' }, alignSelf: 'flex-start' }}
|
||||||
>
|
>
|
||||||
Manage Modules
|
Manage Modules
|
||||||
|
|||||||
@@ -97,9 +97,18 @@ export function TabProvider({ children }: { children: ReactNode }) {
|
|||||||
}, [location.pathname, tabs]);
|
}, [location.pathname, tabs]);
|
||||||
|
|
||||||
const openTab = (path: string, label: string, closable: boolean = true) => {
|
const openTab = (path: string, label: string, closable: boolean = true) => {
|
||||||
if (!tabs.find((t) => t.path === path)) {
|
setTabs((prev) => {
|
||||||
setTabs((prev) => [...prev, { path, label, closable }]);
|
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);
|
navigate(path);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user