fix(plex-settings): fix Plex preset selection not enabling save button (#2289)
Uses setValues instead of setFieldValue calls to properly trigger the validation and also added a validateOnMOunt to ensure form validity is checked on initial render. fix #2287
This commit is contained in:
@@ -377,6 +377,7 @@ const SettingsPlex = ({ onComplete }: SettingsPlexProps) => {
|
|||||||
webAppUrl: data?.webAppUrl,
|
webAppUrl: data?.webAppUrl,
|
||||||
}}
|
}}
|
||||||
validationSchema={PlexSettingsSchema}
|
validationSchema={PlexSettingsSchema}
|
||||||
|
validateOnMount={true}
|
||||||
onSubmit={async (values) => {
|
onSubmit={async (values) => {
|
||||||
let toastId: string | null = null;
|
let toastId: string | null = null;
|
||||||
try {
|
try {
|
||||||
@@ -423,6 +424,7 @@ const SettingsPlex = ({ onComplete }: SettingsPlexProps) => {
|
|||||||
values,
|
values,
|
||||||
handleSubmit,
|
handleSubmit,
|
||||||
setFieldValue,
|
setFieldValue,
|
||||||
|
setValues,
|
||||||
isSubmitting,
|
isSubmitting,
|
||||||
isValid,
|
isValid,
|
||||||
}) => {
|
}) => {
|
||||||
@@ -445,9 +447,12 @@ const SettingsPlex = ({ onComplete }: SettingsPlexProps) => {
|
|||||||
availablePresets[Number(e.target.value)];
|
availablePresets[Number(e.target.value)];
|
||||||
|
|
||||||
if (targPreset) {
|
if (targPreset) {
|
||||||
setFieldValue('hostname', targPreset.address);
|
setValues({
|
||||||
setFieldValue('port', targPreset.port);
|
...values,
|
||||||
setFieldValue('useSsl', targPreset.ssl);
|
hostname: targPreset.address,
|
||||||
|
port: targPreset.port,
|
||||||
|
useSsl: targPreset.ssl,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user