From 864b1a237a5dbf6dff3fb9c2ebee87cd9cdf400d Mon Sep 17 00:00:00 2001 From: Bill Thornton Date: Fri, 12 Jul 2024 17:32:58 -0400 Subject: [PATCH] Add mutation resets --- src/apps/dashboard/routes/plugins/plugin.tsx | 25 +++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/apps/dashboard/routes/plugins/plugin.tsx b/src/apps/dashboard/routes/plugins/plugin.tsx index d16b308c7a..56fc9dd69a 100644 --- a/src/apps/dashboard/routes/plugins/plugin.tsx +++ b/src/apps/dashboard/routes/plugins/plugin.tsx @@ -148,6 +148,11 @@ const PluginPage: FC = () => { }, { onSuccess: () => { setIsEnabledOverride(false); + }, + onSettled: () => { + installPlugin.reset(); + enablePlugin.reset(); + uninstallPlugin.reset(); } }); } else { @@ -157,10 +162,15 @@ const PluginPage: FC = () => { }, { onSuccess: () => { setIsEnabledOverride(true); + }, + onSettled: () => { + installPlugin.reset(); + disablePlugin.reset(); + uninstallPlugin.reset(); } }); } - }, [ disablePlugin, enablePlugin, pluginDetails ]); + }, [ disablePlugin, enablePlugin, installPlugin, pluginDetails, uninstallPlugin ]); /** Install the plugin or prompt for confirmation if untrusted */ const onInstall = useCallback((version?: VersionInfo, isConfirmed = false) => () => { @@ -185,9 +195,12 @@ const PluginPage: FC = () => { }, { onSettled: () => { setPendingInstallVersion(undefined); + disablePlugin.reset(); + enablePlugin.reset(); + uninstallPlugin.reset(); } }); - }, [ installPlugin, pluginDetails ]); + }, [ disablePlugin, enablePlugin, installPlugin, pluginDetails, uninstallPlugin ]); /** Confirm and install the plugin */ const onConfirmInstall = useCallback(() => { @@ -218,8 +231,14 @@ const PluginPage: FC = () => { uninstallPlugin.mutate({ pluginId: pluginDetails.id, version: pluginDetails.version.version + }, { + onSettled: () => { + disablePlugin.reset(); + enablePlugin.reset(); + installPlugin.reset(); + } }); - }, [ pluginDetails, uninstallPlugin ]); + }, [ disablePlugin, enablePlugin, installPlugin, pluginDetails, uninstallPlugin ]); /** Close the uninstall confirmation dialog */ const onCloseUninstallConfirmDialog = useCallback(() => {