From d9b5aa6a3592c2646aaae1b84171d0e896298278 Mon Sep 17 00:00:00 2001 From: Rimian Perkins Date: Thu, 14 Nov 2019 13:43:18 +1100 Subject: [PATCH] loading on subscription page --- .../controllers/patrons-subscribe-show.js.es6 | 26 ++++++++++++------- .../templates/patrons/subscribe/show.hbs | 15 ++++++----- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/assets/javascripts/discourse/controllers/patrons-subscribe-show.js.es6 b/assets/javascripts/discourse/controllers/patrons-subscribe-show.js.es6 index 69b915e..10f5225 100644 --- a/assets/javascripts/discourse/controllers/patrons-subscribe-show.js.es6 +++ b/assets/javascripts/discourse/controllers/patrons-subscribe-show.js.es6 @@ -13,9 +13,12 @@ export default Ember.Controller.extend({ actions: { stripePaymentHandler() { + this.set("loading", true); + this.stripe.createToken(this.get("cardElement")).then(result => { if (result.error) { bootbox.alert(result.error.message); + this.set("loading", false); } else { const customerData = { source: result.token.id @@ -33,15 +36,20 @@ export default Ember.Controller.extend({ subscription.set("plan", this.get("model.plans.firstObject.id")); } - subscription.save().then(() => { - bootbox.alert( - I18n.t("discourse_patrons.transactions.payment.success") - ); - this.transitionToRoute( - "user.subscriptions", - Discourse.User.current().username.toLowerCase() - ); - }); + subscription + .save() + .then(() => { + bootbox.alert( + I18n.t("discourse_patrons.transactions.payment.success") + ); + this.transitionToRoute( + "user.subscriptions", + Discourse.User.current().username.toLowerCase() + ); + }) + .finally(() => { + this.set("loading", false); + }); }); } }); diff --git a/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs b/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs index fbd4e47..c95f58c 100644 --- a/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs +++ b/assets/javascripts/discourse/templates/patrons/subscribe/show.hbs @@ -12,6 +12,7 @@ {{combo-box valueAttribute="id" content=model.plans value=model.product.plan}} {{#d-button + disabled=loading action="stripePaymentHandler" class="btn btn-primary btn-payment btn-discourse-patrons"}} {{i18n 'discourse_patrons.subscribe.buttons.subscribe'}} @@ -19,14 +20,14 @@
-

{{i18n 'discourse_patrons.subscribe.card.title'}}

+

+ {{i18n 'discourse_patrons.subscribe.card.title'}} +

+ {{subscribe-card cardElement=cardElement}} - {{!--
-

{{i18n 'discourse_patrons.subscribe.customer.title'}}

-
- {{i18n 'discourse_patrons.subscribe.customer.empty'}} -
-
--}} + {{#if loading}} + {{loading-spinner}} + {{/if}}