From 6e4c19154d1460f0447a4845f1653dc609275da3 Mon Sep 17 00:00:00 2001 From: Krzysztof Bialoglowicz Date: Thu, 29 Aug 2019 13:01:06 +0200 Subject: [PATCH] Add errors --- src/plugins/views/PluginsDetails.tsx | 30 ++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/plugins/views/PluginsDetails.tsx b/src/plugins/views/PluginsDetails.tsx index ca2240bdc..05bb6cee2 100644 --- a/src/plugins/views/PluginsDetails.tsx +++ b/src/plugins/views/PluginsDetails.tsx @@ -1,7 +1,8 @@ -import React from "react"; - import { WindowTitle } from "@saleor/components/WindowTitle"; import useNavigator from "@saleor/hooks/useNavigator"; +import useNotifier from "@saleor/hooks/useNotifier"; +import i18n from "@saleor/i18n"; +import React from "react"; import { getMutationState, maybe } from "../../misc"; import PluginsDetailsPage from "../components/PluginsDetailsPage"; import { TypedPluginUpdate } from "../mutations"; @@ -17,6 +18,7 @@ export const PluginsDetails: React.StatelessComponent = ({ id }) => { const navigate = useNavigator(); + const notify = useNotifier(); return ( @@ -29,6 +31,25 @@ export const PluginsDetails: React.StatelessComponent = ({ maybe(() => pluginUpdateOpts.data.pluginUpdate.errors) ); + const formErrors = maybe( + () => pluginUpdateOpts.data.pluginUpdate.errors, + [] + ); + + if (formErrors.length) { + formErrors.map(error => { + notify({ + text: error.message + }); + }); + } else { + if (pluginUpdateOpts.data) { + notify({ + text: i18n.t("Succesfully updated plugin settings") + }); + } + } + return ( <> = ({ /> pluginUpdateOpts.data.pluginUpdate.errors, - [] - )} + errors={formErrors} saveButtonBarState={formTransitionState} plugin={maybe(() => PluginDetails.data.plugin)} onBack={() => navigate(pluginsListUrl())}