From 9ceda224d3f7d052cf92bbe1f2d7ed3abc143070 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Wed, 30 Sep 2020 10:39:46 +0200 Subject: [PATCH] Ask to save anonymous participation in browser after email confirmation Signed-off-by: Thomas Citharel --- .../Participation/ConfirmParticipation.vue | 49 ++++++++++++++++--- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/js/src/components/Participation/ConfirmParticipation.vue b/js/src/components/Participation/ConfirmParticipation.vue index e6f7e4a36..3290f7305 100644 --- a/js/src/components/Participation/ConfirmParticipation.vue +++ b/js/src/components/Participation/ConfirmParticipation.vue @@ -1,5 +1,5 @@ @@ -32,6 +49,10 @@ export default class ConfirmParticipation extends Vue { failed = false; + participation!: IParticipant; + + saveParticipation = true; + async created(): Promise { await this.validateAction(); } @@ -49,11 +70,7 @@ export default class ConfirmParticipation extends Vue { if (data) { const { confirmParticipation: participation } = data; - await confirmLocalAnonymousParticipation(participation.event.uuid); - await this.$router.replace({ - name: RouteName.EVENT, - params: { uuid: data.confirmParticipation.event.uuid }, - }); + this.participation = participation; } } catch (err) { console.error(err); @@ -64,5 +81,23 @@ export default class ConfirmParticipation extends Vue { this.loading = false; } } + + askToSaveParticipation(): void { + if (this.saveParticipation) { + this.saveParticipationInBrowser(); + } + this.forwardToEventPage(); + } + + async saveParticipationInBrowser(): Promise { + await confirmLocalAnonymousParticipation(this.participation.event.uuid); + } + + async forwardToEventPage(): Promise { + await this.$router.replace({ + name: RouteName.EVENT, + params: { uuid: this.participation.event.uuid }, + }); + } }