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

Loading…
Cancel
Save