From a003d9430aec935732687ef2378484b42049f592 Mon Sep 17 00:00:00 2001 From: Manuel Date: Tue, 17 Jan 2023 21:39:29 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20config=20changer=20and=20c?= =?UTF-8?q?ritical=20bug=20in=20copy=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../en/settings/general/config-changer.json | 1 + src/components/Config/ConfigChanger.tsx | 20 ++++++++++--------- .../Settings/Common/Config/ConfigActions.tsx | 1 - src/tools/config/getFrontendConfig.ts | 4 ++++ .../mutations/useCopyConfigMutation.tsx | 3 +++ 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/public/locales/en/settings/general/config-changer.json b/public/locales/en/settings/general/config-changer.json index 256f82bd9..7a5cf7988 100644 --- a/public/locales/en/settings/general/config-changer.json +++ b/public/locales/en/settings/general/config-changer.json @@ -1,6 +1,7 @@ { "configSelect": { "label": "Config changer", + "description": "{{configCount}} configurations are available", "loadingNew": "Loading your config...", "pleaseWait": "Please wait until your new config is loaded!" }, diff --git a/src/components/Config/ConfigChanger.tsx b/src/components/Config/ConfigChanger.tsx index c4c499154..faa60f1f0 100644 --- a/src/components/Config/ConfigChanger.tsx +++ b/src/components/Config/ConfigChanger.tsx @@ -3,15 +3,17 @@ import { useToggle } from '@mantine/hooks'; import { useQuery } from '@tanstack/react-query'; import { setCookie } from 'cookies-next'; import { useTranslation } from 'next-i18next'; +import { useRouter } from 'next/router'; import { useState } from 'react'; import { useConfigContext } from '../../config/provider'; export default function ConfigChanger() { - const { t } = useTranslation('settings/general/config-changer'); - const { name: configName } = useConfigContext(); - // const loadConfig = useConfigStore((x) => x.loadConfig); + const router = useRouter(); - const { data: configs, isLoading, isError } = useConfigsQuery(); + const { t } = useTranslation('settings/general/config-changer'); + const { name: configName, setConfigName } = useConfigContext(); + + const { data: configs, isLoading } = useConfigsQuery(); const [activeConfig, setActiveConfig] = useState(configName); const [isRefreshing, toggle] = useToggle(); @@ -22,14 +24,13 @@ export default function ConfigChanger() { }); setActiveConfig(value); toggle(); - // Use timeout to wait for the cookie to be set - setTimeout(() => { - window.location.reload(); - }, 1000); + + router.push(`/${value}`); + setConfigName(value); }; // If configlist is empty, return a loading indicator - if (isLoading || !configs || configs?.length === 0 || !configName) { + if (isLoading || !configs || configs.length === 0 || !configName) { return (
@@ -43,6 +44,7 @@ export default function ConfigChanger() { <>