UNPKG

@nowzoo/ngx-firebase-auth

Version:

Angular components for Firebase email-first sign in and out-of-band (oob) actions (reset password, etc).

87 lines (86 loc) 10.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; import { AngularFireAuth } from 'angularfire2/auth'; import { screenAnimation } from '../../shared'; var OobVerifyEmailComponent = /** @class */ (function () { function OobVerifyEmailComponent(_afAuth) { this._afAuth = _afAuth; this.success = new EventEmitter(); this.screen = 'wait'; this.submitting = false; } Object.defineProperty(OobVerifyEmailComponent.prototype, "auth", { get: /** * @return {?} */ function () { return this._afAuth.auth; }, enumerable: true, configurable: true }); /** * @return {?} */ OobVerifyEmailComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.auth.checkActionCode(this.oobCode) .then(function (result) { _this.info = result; return _this.auth.applyActionCode(_this.oobCode); }) .then(function () { _this.screen = 'success'; _this.success.emit({ mode: 'verifyEmail', info: _this.info, user: _this.auth.currentUser }); }) .catch(function (error) { _this.unhandledError = error; _this.screen = 'error'; }); }; OobVerifyEmailComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-firebase-auth-oob-verify-email', template: "<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n<div *ngIf=\"'success' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n The email {{info.data.email}} has been verified.\n </div>\n</div>\n\n<div *ngIf=\"screen === 'error'\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <p>\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n Woops! An error occurred.\n </p>\n <div [ngSwitch]=\"unhandledError.code\">\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/expired-action-code'\">\n The verify email link you used has expired.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/invalid-action-code'\">\n The verify email link you used is not valid. This may be because it\n has already been used.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-disabled'\">\n The account associated with the verify email link you used has been disabled.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-not-found'\">\n The account associated with the verify email link you used has been removed.\n </p>\n <div *ngSwitchDefault>\n <p>Code: {{unhandledError.code}}</p>\n <p class=\"mb-0\">\n Message: {{unhandledError.message}}\n </p>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], animations: [screenAnimation] },] }, ]; /** @nocollapse */ OobVerifyEmailComponent.ctorParameters = function () { return [ { type: AngularFireAuth } ]; }; OobVerifyEmailComponent.propDecorators = { oobCode: [{ type: Input }], success: [{ type: Output }] }; return OobVerifyEmailComponent; }()); export { OobVerifyEmailComponent }; if (false) { /** @type {?} */ OobVerifyEmailComponent.prototype.oobCode; /** @type {?} */ OobVerifyEmailComponent.prototype.success; /** @type {?} */ OobVerifyEmailComponent.prototype.screen; /** @type {?} */ OobVerifyEmailComponent.prototype.info; /** @type {?} */ OobVerifyEmailComponent.prototype.submitting; /** @type {?} */ OobVerifyEmailComponent.prototype.unhandledError; /** @type {?} */ OobVerifyEmailComponent.prototype._afAuth; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib29iLXZlcmlmeS1lbWFpbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Abm93em9vL25neC1maXJlYmFzZS1hdXRoLyIsInNvdXJjZXMiOlsibGliL29vYi9vb2ItdmVyaWZ5LWVtYWlsL29vYi12ZXJpZnktZW1haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOztJQTZEN0MsaUNBQ1U7UUFBQSxZQUFPLEdBQVAsT0FBTzt1QkFSNkMsSUFBSSxZQUFZLEVBQUU7c0JBRXpDLE1BQU07MEJBRWhDLEtBQUs7S0FLYjtJQUVMLHNCQUFJLHlDQUFJOzs7O1FBQVI7WUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDMUI7OztPQUFBOzs7O0lBRUQsMENBQVE7OztJQUFSO1FBQUEsaUJBbUJDO1FBakJDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDcEMsSUFBSSxDQUFDLFVBQUMsTUFBMkI7WUFDaEMsS0FBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7WUFDbkIsTUFBTSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNoRCxDQUFDO2FBQ0QsSUFBSSxDQUFDO1lBQ0osS0FBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUM7WUFDeEIsS0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLElBQUksRUFBRSxhQUFhO2dCQUNuQixJQUFJLEVBQUUsS0FBSSxDQUFDLElBQUk7Z0JBQ2YsSUFBSSxFQUFFLEtBQUksQ0FBQyxJQUFJLENBQUMsV0FBVzthQUM1QixDQUFDLENBQUM7U0FDSixDQUFDO2FBQ0QsS0FBSyxDQUFDLFVBQUMsS0FBaUI7WUFDdkIsS0FBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsS0FBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7U0FDdkIsQ0FBQyxDQUFDO0tBQ047O2dCQXRGRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLG9DQUFvQztvQkFDOUMsUUFBUSxFQUFFLDJpREEyQ1g7b0JBQ0MsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO29CQUNaLFVBQVUsRUFBRSxDQUFDLGVBQWUsQ0FBQztpQkFDOUI7Ozs7Z0JBckRRLGVBQWU7OzswQkF3RHJCLEtBQUs7MEJBQ0wsTUFBTTs7a0NBM0RUOztTQXdEYSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQW5ndWxhckZpcmVBdXRoIH0gZnJvbSAnYW5ndWxhcmZpcmUyL2F1dGgnO1xuaW1wb3J0IHsgYXV0aCwgVXNlciB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBJTmd4RmlyZWJhc2VBdXRoT29iU3VjY2VzcyB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBzY3JlZW5BbmltYXRpb24gfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ3gtZmlyZWJhc2UtYXV0aC1vb2ItdmVyaWZ5LWVtYWlsJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICpuZ0lmPVwiJ3dhaXQnID09PSBzY3JlZW5cIiBbQHNjcmVlbl09XCInaW4nXCI+XG4gIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1zZWNvbmRhcnlcIj5cbiAgICA8aSBjbGFzcz1cImZhcyBmYS1zcGluIGZhLXNwaW5uZXIgZmEtZndcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgUGxlYXNlIHdhaXQuLi5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiAqbmdJZj1cIidzdWNjZXNzJyA9PT0gc2NyZWVuXCIgW0BzY3JlZW5dPVwiJ2luJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtc3VjY2Vzc1wiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIFRoZSBlbWFpbCB7e2luZm8uZGF0YS5lbWFpbH19IGhhcyBiZWVuIHZlcmlmaWVkLlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2ICpuZ0lmPVwic2NyZWVuID09PSAnZXJyb3InXCIgW0BzY3JlZW5dPVwiJ2luJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtZGFuZ2VyXCI+XG4gICAgPHA+XG4gICAgICA8aSBjbGFzcz1cImZhcyBmYS1leGNsYW1hdGlvbi10cmlhbmdsZSBmYS1md1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIFdvb3BzISBBbiBlcnJvciBvY2N1cnJlZC5cbiAgICA8L3A+XG4gICAgPGRpdiBbbmdTd2l0Y2hdPVwidW5oYW5kbGVkRXJyb3IuY29kZVwiPlxuICAgICAgPHAgY2xhc3M9XCJtYi0wXCIgKm5nU3dpdGNoQ2FzZT1cIidhdXRoL2V4cGlyZWQtYWN0aW9uLWNvZGUnXCI+XG4gICAgICAgIFRoZSB2ZXJpZnkgZW1haWwgbGluayB5b3UgdXNlZCBoYXMgZXhwaXJlZC5cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ1N3aXRjaENhc2U9XCInYXV0aC9pbnZhbGlkLWFjdGlvbi1jb2RlJ1wiPlxuICAgICAgICBUaGUgdmVyaWZ5IGVtYWlsIGxpbmsgeW91IHVzZWQgaXMgbm90IHZhbGlkLiBUaGlzIG1heSBiZSBiZWNhdXNlIGl0XG4gICAgICAgIGhhcyBhbHJlYWR5IGJlZW4gdXNlZC5cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ1N3aXRjaENhc2U9XCInYXV0aC91c2VyLWRpc2FibGVkJ1wiPlxuICAgICAgICBUaGUgYWNjb3VudCBhc3NvY2lhdGVkIHdpdGggdGhlIHZlcmlmeSBlbWFpbCBsaW5rIHlvdSB1c2VkIGhhcyBiZWVuIGRpc2FibGVkLlxuICAgICAgPC9wPlxuICAgICAgPHAgY2xhc3M9XCJtYi0wXCIgKm5nU3dpdGNoQ2FzZT1cIidhdXRoL3VzZXItbm90LWZvdW5kJ1wiPlxuICAgICAgICBUaGUgYWNjb3VudCBhc3NvY2lhdGVkIHdpdGggdGhlIHZlcmlmeSBlbWFpbCBsaW5rIHlvdSB1c2VkIGhhcyBiZWVuIHJlbW92ZWQuXG4gICAgICA8L3A+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxwPkNvZGU6IHt7dW5oYW5kbGVkRXJyb3IuY29kZX19PC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICBNZXNzYWdlOiB7e3VuaGFuZGxlZEVycm9yLm1lc3NhZ2V9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmAsXG4gIHN0eWxlczogW2BgXSxcbiAgYW5pbWF0aW9uczogW3NjcmVlbkFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgT29iVmVyaWZ5RW1haWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIG9vYkNvZGU6IHN0cmluZztcbiAgQE91dHB1dCgpIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxJTmd4RmlyZWJhc2VBdXRoT29iU3VjY2Vzcz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgc2NyZWVuOiAnd2FpdCcgfCAnZXJyb3InIHwgJ3N1Y2Nlc3MnID0gJ3dhaXQnO1xuICBpbmZvOiBhdXRoLkFjdGlvbkNvZGVJbmZvO1xuICBzdWJtaXR0aW5nID0gZmFsc2U7XG4gIHVuaGFuZGxlZEVycm9yOiBhdXRoLkVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2FmQXV0aDogQW5ndWxhckZpcmVBdXRoLFxuICApIHsgfVxuXG4gIGdldCBhdXRoKCk6IGF1dGguQXV0aCB7XG4gICAgcmV0dXJuIHRoaXMuX2FmQXV0aC5hdXRoO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG5cbiAgICB0aGlzLmF1dGguY2hlY2tBY3Rpb25Db2RlKHRoaXMub29iQ29kZSlcbiAgICAgIC50aGVuKChyZXN1bHQ6IGF1dGguQWN0aW9uQ29kZUluZm8pID0+IHtcbiAgICAgICAgdGhpcy5pbmZvID0gcmVzdWx0O1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoLmFwcGx5QWN0aW9uQ29kZSh0aGlzLm9vYkNvZGUpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JlZW4gPSAnc3VjY2Vzcyc7XG4gICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHtcbiAgICAgICAgICBtb2RlOiAndmVyaWZ5RW1haWwnLFxuICAgICAgICAgIGluZm86IHRoaXMuaW5mbyxcbiAgICAgICAgICB1c2VyOiB0aGlzLmF1dGguY3VycmVudFVzZXJcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogYXV0aC5FcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnVuaGFuZGxlZEVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuc2NyZWVuID0gJ2Vycm9yJztcbiAgICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==