|
|
@@ -286,18 +286,23 @@ const actionLabel = computed(() => {
|
|
|
return t("provider.login.steps.step_3.action");
|
|
|
});
|
|
|
|
|
|
-const showBackButton = computed(() => steps.value >= 4);
|
|
|
+const FIRST_NAVIGABLE_STEP = 3;
|
|
|
|
|
|
-//
|
|
|
+const showBackButton = computed(() => steps.value > FIRST_NAVIGABLE_STEP);
|
|
|
+
|
|
|
+const goToStep = async (target) => {
|
|
|
+ steps.value = target;
|
|
|
+
|
|
|
+ await nextTick();
|
|
|
+
|
|
|
+ loginForm.value?.resetValidation();
|
|
|
+ flowContentRef.value?.setScrollPosition("vertical", 0);
|
|
|
+};
|
|
|
|
|
|
const goBack = async () => {
|
|
|
- if (steps.value === 4) {
|
|
|
- steps.value = 3;
|
|
|
- } else if (steps.value === 5) {
|
|
|
- steps.value = 4;
|
|
|
- } else if (steps.value === 6) {
|
|
|
- steps.value = 5;
|
|
|
- }
|
|
|
+ if (steps.value <= FIRST_NAVIGABLE_STEP) return;
|
|
|
+
|
|
|
+ await goToStep(steps.value - 1);
|
|
|
};
|
|
|
|
|
|
//
|
|
|
@@ -373,7 +378,7 @@ const onSubmit = async () => {
|
|
|
|
|
|
case 3: {
|
|
|
if (await validateCurrentStep()) {
|
|
|
- steps.value = 4;
|
|
|
+ await goToStep(4);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
@@ -381,7 +386,7 @@ const onSubmit = async () => {
|
|
|
|
|
|
case 4: {
|
|
|
if (await validateCurrentStep()) {
|
|
|
- steps.value = 5;
|
|
|
+ await goToStep(5);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
@@ -389,7 +394,7 @@ const onSubmit = async () => {
|
|
|
|
|
|
case 5: {
|
|
|
if (await validateCurrentStep()) {
|
|
|
- steps.value = 6;
|
|
|
+ await goToStep(6);
|
|
|
}
|
|
|
|
|
|
break;
|
|
|
@@ -598,7 +603,8 @@ const validateCodeInput = async () => {
|
|
|
|
|
|
stepThreeForm.value.email = email.value;
|
|
|
stepThreeForm.value.phone = phone.value;
|
|
|
- steps.value = 3;
|
|
|
+
|
|
|
+ await goToStep(3);
|
|
|
}
|
|
|
};
|
|
|
|