From 094e59642890bb07ebff259eb261a1208307ba27 Mon Sep 17 00:00:00 2001 From: 0xsysr3ll <0xsysr3ll@pm.me> Date: Fri, 20 Feb 2026 23:39:09 +0100 Subject: [PATCH] fix(settings): use proper error messages --- .../Settings/SwitchMediaServerSection.tsx | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/src/components/Settings/SwitchMediaServerSection.tsx b/src/components/Settings/SwitchMediaServerSection.tsx index c72e9c5fa..ca37d757d 100644 --- a/src/components/Settings/SwitchMediaServerSection.tsx +++ b/src/components/Settings/SwitchMediaServerSection.tsx @@ -1,6 +1,7 @@ import ConfirmButton from '@app/components/Common/ConfirmButton'; import useSettings from '@app/hooks/useSettings'; import globalMessages from '@app/i18n/globalMessages'; +import defineMessages from '@app/utils/defineMessages'; import { MediaServerType } from '@server/constants/server'; import axios from 'axios'; import { useState } from 'react'; @@ -9,6 +10,12 @@ import { useToasts } from 'react-toast-notifications'; type SwitchTargetServerType = 'jellyfin' | 'emby'; +const messages = defineMessages('components.Settings', { + switchMediaServerError: + 'Something went wrong while switching media server. Please try again.', + switchMediaServerSuccess: 'Media server cleared. You may need to restart.', +}); + const SwitchMediaServerSection = () => { const settings = useSettings(); const intl = useIntl(); @@ -100,15 +107,22 @@ const SwitchMediaServerSection = () => { ? { targetServerType: switchTargetServerType } : undefined ); - addToast('Media server cleared. You may need to restart.', { + addToast(intl.formatMessage(messages.switchMediaServerSuccess), { appearance: 'success', }); window.location.reload(); } catch (err: unknown) { + const extracted = axios.isAxiosError(err) + ? (err.response?.data?.error ?? + err.response?.data?.message ?? + err.message) + : err instanceof Error + ? err.message + : null; const message = - axios.isAxiosError(err) && err.response?.data?.error - ? String(err.response.data.error) - : intl.formatMessage(globalMessages.blocklistError); + extracted != null && String(extracted).trim() !== '' + ? String(extracted) + : intl.formatMessage(messages.switchMediaServerError); addToast(message, { appearance: 'error' }); } }}