Procházet zdrojové kódy

Clear state fixed when finishing the onboarding

jnfrati před 4 roky
rodič
revize
aafb66dbbb

+ 4 - 4
dashboard/src/main/home/onboarding/Onboarding.tsx

@@ -21,16 +21,16 @@ const Onboarding = () => {
   }, [context.currentProject?.id]);
 
   useEffect(() => {
-    console.log(location);
     if (snap.StepHandler.finishedOnboarding) {
+      OFState.actions.clearState();
       pushFiltered("/dashboard", []);
-    } else if (snap.StepHandler.currentStep.url !== location.pathname) {
+    } else if (snap.StepHandler?.currentStep?.url !== location.pathname) {
       pushFiltered(snap.StepHandler.currentStep.url, []);
     }
   }, [
     location.pathname,
-    snap.StepHandler.currentStep.url,
-    snap.StepHandler.finishedOnboarding,
+    snap.StepHandler?.currentStep?.url,
+    snap.StepHandler?.finishedOnboarding,
   ]);
 
   return (

+ 2 - 0
dashboard/src/main/home/onboarding/state/StepHandler.ts

@@ -38,6 +38,7 @@ const flow: FlowType = {
       state_key: "connected_registry",
     },
     provision_resources: {
+      final: true,
       previous: "connect_registry",
       url: "/onboarding/provision",
       state_key: "provision_resources",
@@ -78,6 +79,7 @@ export const StepHandler: StepHandlerType = proxy({
     clearState: () => {
       StepHandler.currentStepName = flow.initial;
       StepHandler.currentStep = flow.steps[flow.initial];
+      StepHandler.finishedOnboarding = false;
     },
     restoreState: (prevState) => {
       StepHandler.currentStepName = prevState.currentStepName;

+ 5 - 4
dashboard/src/main/home/onboarding/state/index.ts

@@ -21,6 +21,7 @@ export const OFState = proxy({
       OFState.actions.saveState();
     },
     clearState: () => {
+      console.log("CLEARED STATE");
       StateHandler.actions.clearState();
       StepHandler.actions.clearState();
       ConnectRegistryState.actions.clearState();
@@ -42,21 +43,21 @@ export const OFState = proxy({
       }
       const prevState = JSON.parse(notParsedPrevState);
 
+      if (prevState.StepHandler.finishedOnboarding) {
+        return;
+      }
+
       if (prevState?.StateHandler) {
         StateHandler.actions.restoreState(prevState.StateHandler);
       }
       if (prevState?.StepHandler) {
         StepHandler.actions.restoreState(prevState.StepHandler);
       }
-      console.log(prevState);
-      debugger;
       if (prevState?.substates.connected_registry) {
-        console.log(prevState?.substates.connected_registry);
         ConnectRegistryState.actions.restoreState(
           prevState?.substates.connected_registry
         );
       }
-      console.log(prevState.substates.provision_resources);
       if (prevState?.substates.provision_resources) {
         ProvisionResourcesState.actions.restoreState(
           prevState?.substates?.provision_resources

+ 0 - 1
dashboard/src/main/home/onboarding/steps/ConnectRegistry/ConnectRegistryState.ts

@@ -23,7 +23,6 @@ const actions = {
     State.currentStep = "credentials";
   },
   restoreState(prevState: any) {
-    debugger;
     if (prevState.selectedProvider) {
       State.selectedProvider = prevState.selectedProvider;
     }