Просмотр исходного кода

set sync status to syncExecuting before API request

Futa Arai 2 лет назад
Родитель
Сommit
d422c0b548

+ 4 - 2
apps/app/src/features/external-user-group/client/components/ExternalUserGroup/SyncExecution.tsx

@@ -74,11 +74,13 @@ export const SyncExecution = ({
   const onSyncBtnClick = useCallback(async(e) => {
   const onSyncBtnClick = useCallback(async(e) => {
     e.preventDefault();
     e.preventDefault();
     try {
     try {
-      await requestSyncAPI(e);
-      setProgress({ total: 0, current: 0 });
+      // set sync status before requesting to API, so that setting to syncFailed does not get overwritten
       setSyncStatus(SyncStatus.syncExecuting);
       setSyncStatus(SyncStatus.syncExecuting);
+      setProgress({ total: 0, current: 0 });
+      await requestSyncAPI(e);
     }
     }
     catch (errs) {
     catch (errs) {
+      setSyncStatus(SyncStatus.syncFailed);
       toastError(t(errs[0]?.code));
       toastError(t(errs[0]?.code));
     }
     }
   }, [t, requestSyncAPI]);
   }, [t, requestSyncAPI]);