refactor(jellyfin-login): simplify error handling for quick connect errors

This commit is contained in:
fallenbagel
2025-12-13 09:34:25 +08:00
parent 8bb7d4e380
commit 43553cb2d5

View File

@@ -11,7 +11,7 @@ import { ApiErrorCode } from '@server/constants/error';
import { MediaServerType, ServerType } from '@server/constants/server';
import axios from 'axios';
import { Field, Form, Formik } from 'formik';
import { useState } from 'react';
import { useCallback, useState } from 'react';
import { useIntl } from 'react-intl';
import { useToasts } from 'react-toast-notifications';
import * as Yup from 'yup';
@@ -39,10 +39,7 @@ interface JellyfinLoginProps {
serverType?: MediaServerType;
}
const JellyfinLogin: React.FC<JellyfinLoginProps> = ({
revalidate,
serverType,
}) => {
const JellyfinLogin = ({ revalidate, serverType }: JellyfinLoginProps) => {
const toasts = useToasts();
const intl = useIntl();
const settings = useSettings();
@@ -57,6 +54,16 @@ const JellyfinLogin: React.FC<JellyfinLoginProps> = ({
: 'Media Server',
};
const handleQuickConnectError = useCallback(
(error: string) => {
toasts.addToast(error, {
autoDismiss: true,
appearance: 'error',
});
},
[toasts]
);
const LoginSchema = Yup.object().shape({
username: Yup.string().required(
intl.formatMessage(messages.validationusernamerequired)
@@ -223,12 +230,7 @@ const JellyfinLogin: React.FC<JellyfinLoginProps> = ({
setShowQuickConnect(false);
revalidate();
}}
onError={(error) => {
toasts.addToast(error, {
autoDismiss: true,
appearance: 'error',
});
}}
onError={handleQuickConnectError}
mediaServerName={mediaServerFormatValues.mediaServerName}
/>
)}