diff options
| author | tusooa <tusooa@kazv.moe> | 2023-07-25 10:46:27 -0400 |
|---|---|---|
| committer | tusooa <tusooa@kazv.moe> | 2024-01-13 17:41:57 -0500 |
| commit | 82c00449638a7aa06b63454f6dc5a44924a6d36e (patch) | |
| tree | 2a83119fd3051e7cd29bc73f16f1b8a9e9606b7a /src/components/registration | |
| parent | f5b4b5f7770dad5c8a90bce2263d3a97b9ad2d00 (diff) | |
Show a dedicated registration notice page when further action is required after registering
Diffstat (limited to 'src/components/registration')
| -rw-r--r-- | src/components/registration/registration.js | 10 | ||||
| -rw-r--r-- | src/components/registration/registration.vue | 14 |
2 files changed, 21 insertions, 3 deletions
diff --git a/src/components/registration/registration.js b/src/components/registration/registration.js index b88bdeec..ca1fed94 100644 --- a/src/components/registration/registration.js +++ b/src/components/registration/registration.js @@ -83,6 +83,8 @@ const registration = { signedIn: (state) => !!state.users.currentUser, isPending: (state) => state.users.signUpPending, serverValidationErrors: (state) => state.users.signUpErrors, + signUpNotice: (state) => state.users.signUpNotice, + hasSignUpNotice: (state) => !!state.users.signUpNotice.message, termsOfService: (state) => state.instance.tos, accountActivationRequired: (state) => state.instance.accountActivationRequired, accountApprovalRequired: (state) => state.instance.accountApprovalRequired, @@ -107,8 +109,12 @@ const registration = { if (!this.v$.$invalid) { try { - await this.signUp(this.user) - this.$router.push({ name: 'friends' }) + const status = await this.signUp(this.user) + if (status === 'ok') { + this.$router.push({ name: 'friends' }) + } else { + // display sign up notice, do not switch anywhere + } } catch (error) { console.warn('Registration failed: ', error) this.setCaptcha() diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index 7438a5f4..5c913f94 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -3,7 +3,10 @@ <div class="panel-heading"> {{ $t('registration.registration') }} </div> - <div class="panel-body"> + <div + v-if="!hasSignUpNotice" + class="panel-body" + > <form class="registration-form" @submit.prevent="submit(user)" @@ -307,6 +310,11 @@ </div> </form> </div> + <div v-else> + <p class="registration-notice"> + {{ signUpNotice.message }} + </p> + </div> </div> </template> @@ -404,6 +412,10 @@ $validations-cRed: #f04124; } } +.registration-notice { + margin: 0.6em; +} + @media all and (max-width: 800px) { .registration-form .container { flex-direction: column-reverse; |
