diff --git a/frontend/docs/changelog/changelog-de.md b/frontend/docs/changelog/changelog-de.md index ef9fe290..05eab84c 100644 --- a/frontend/docs/changelog/changelog-de.md +++ b/frontend/docs/changelog/changelog-de.md @@ -36,6 +36,7 @@ - Ein Fehler wurde behoben, der beim ersten Laden der Seite den Text in der Suchleiste nicht übersetzt hatte. - Ein Fehler wurde behoben, der Landkreise mit fehlenden Daten verschwinden lies. - Ein Fehler wurde behoben, der die Webseite abstürzen lässt, nachdem die zugrunde liegenden Daten aktualisiert wurden. +- Ein Fehler wurde behoben, der die Webseite abstürzen lässt, wenn ein Szenario aus der Datenbank entfernt wurde. --- diff --git a/frontend/docs/changelog/changelog-en.md b/frontend/docs/changelog/changelog-en.md index b21624ee..568c4278 100644 --- a/frontend/docs/changelog/changelog-en.md +++ b/frontend/docs/changelog/changelog-en.md @@ -36,6 +36,7 @@ - An error was fixed, which prevented the text in the search bar to be translated on an initial site visit. - Fixed an error, where districts with missing values weren't shown. - Fixed an error, which crashed the website when the data was updated. +- Fixed an error, which crashed the website when a scenario was removed from the database. --- diff --git a/frontend/src/components/SimulationChart.tsx b/frontend/src/components/SimulationChart.tsx index 1a7430e2..f9c4b24f 100644 --- a/frontend/src/components/SimulationChart.tsx +++ b/frontend/src/components/SimulationChart.tsx @@ -77,7 +77,7 @@ export default function SimulationChart(): JSX.Element { const {data: simulationData, isFetching: simulationFetching} = useGetMultipleSimulationDataByNodeQuery( { // Filter only scenarios (scenario id 0 is case data) - ids: activeScenarios ? activeScenarios.filter((s) => s !== 0) : [], + ids: activeScenarios ? activeScenarios.filter((s) => s !== 0 && scenarioList.scenarios[s]) : [], node: selectedDistrict, groups: ['total'], compartments: [selectedCompartment ?? ''], @@ -689,7 +689,7 @@ export default function SimulationChart(): JSX.Element { if (activeScenarios) { activeScenarios.forEach((scenarioId) => { // Skip case data (already added) - if (scenarioId === 0) { + if (scenarioId === 0 || !scenarioList.scenarios[scenarioId]) { return; } diff --git a/frontend/src/store/index.ts b/frontend/src/store/index.ts index 8578f62f..6184512e 100644 --- a/frontend/src/store/index.ts +++ b/frontend/src/store/index.ts @@ -11,7 +11,7 @@ import {groupApi} from './services/groupApi'; const persistConfig = { key: 'root', storage, - whitelist: ['dataSelection', 'userPreference', 'scenarioList'], + whitelist: ['dataSelection', 'userPreference'], }; const rootReducer = combineReducers({ diff --git a/frontend/src/store/services/scenarioApi.ts b/frontend/src/store/services/scenarioApi.ts index 283b2887..cbe71e3c 100644 --- a/frontend/src/store/services/scenarioApi.ts +++ b/frontend/src/store/services/scenarioApi.ts @@ -27,7 +27,7 @@ export const scenarioApi = createApi({ getSimulations: builder.query({ query: () => { return `simulations/`; - }, + } }), getSimulationDataByDate: builder.query({