Browse Source

Migrate coupon redemption prompt dialog

pull/4150/head
Thomas Kaul 8 months ago
parent
commit
f1a54b9550
  1. 86
      apps/client/src/app/components/user-account-membership/user-account-membership.component.ts

86
apps/client/src/app/components/user-account-membership/user-account-membership.component.ts

@ -163,50 +163,54 @@ export class UserAccountMembershipComponent implements OnDestroy {
} }
public onRedeemCoupon() { public onRedeemCoupon() {
let couponCode = prompt($localize`Please enter your coupon code:`); this.notificationService.prompt({
couponCode = couponCode?.trim(); confirmFn: (value) => {
const couponCode = value?.trim();
if (couponCode) {
this.dataService if (couponCode) {
.redeemCoupon(couponCode) this.dataService
.pipe( .redeemCoupon(couponCode)
catchError(() => { .pipe(
this.snackBar.open( catchError(() => {
'😞 ' + $localize`Could not redeem coupon code`, this.snackBar.open(
undefined, '😞 ' + $localize`Could not redeem coupon code`,
{ undefined,
duration: ms('3 seconds') {
} duration: ms('3 seconds')
); }
);
return EMPTY;
}), return EMPTY;
takeUntil(this.unsubscribeSubject) }),
) takeUntil(this.unsubscribeSubject)
.subscribe(() => { )
this.snackBarRef = this.snackBar.open(
'✅ ' + $localize`Coupon code has been redeemed`,
$localize`Reload`,
{
duration: 3000
}
);
this.snackBarRef
.afterDismissed()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => { .subscribe(() => {
window.location.reload(); this.snackBarRef = this.snackBar.open(
}); '✅ ' + $localize`Coupon code has been redeemed`,
$localize`Reload`,
{
duration: 3000
}
);
this.snackBarRef this.snackBarRef
.onAction() .afterDismissed()
.pipe(takeUntil(this.unsubscribeSubject)) .pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => { .subscribe(() => {
window.location.reload(); window.location.reload();
});
this.snackBarRef
.onAction()
.pipe(takeUntil(this.unsubscribeSubject))
.subscribe(() => {
window.location.reload();
});
}); });
}); }
} },
title: $localize`Please enter your coupon code.`
});
} }
public ngOnDestroy() { public ngOnDestroy() {

Loading…
Cancel
Save