@rolatech/angular-account 17.2.5 → 17.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/avatar-update-dialog/avatar-update-dialog.component.mjs +3 -3
- package/esm2022/lib/components/forgot-password/forgot-password.component.mjs +3 -3
- package/esm2022/lib/components/login/login-wechat/login-wechat.component.mjs +4 -8
- package/esm2022/lib/components/logout/logout.component.mjs +3 -3
- package/esm2022/lib/components/passwordreset/passwordreset.component.mjs +3 -3
- package/esm2022/lib/components/topbar-login/topbar-login.component.mjs +7 -6
- package/esm2022/lib/components/user-item/user-item.component.mjs +7 -5
- package/esm2022/lib/pages/accounts/signin/signin.component.mjs +21 -9
- package/esm2022/lib/pages/accounts/signup/signup.component.mjs +5 -5
- package/esm2022/lib/pages/myaccount/email/email.component.mjs +16 -16
- package/esm2022/lib/pages/myaccount/email-verification/email-verification.component.mjs +3 -3
- package/esm2022/lib/pages/myaccount/gender/gender.component.mjs +26 -20
- package/esm2022/lib/pages/myaccount/home/home.component.mjs +45 -10
- package/esm2022/lib/pages/myaccount/personal-info/info.component.mjs +11 -18
- package/esm2022/lib/pages/myaccount/personal-info/profile/profile.component.mjs +22 -16
- package/esm2022/lib/pages/myaccount/personal-info/username/username.component.mjs +14 -16
- package/esm2022/lib/pages/myaccount/phone/phone.component.mjs +19 -24
- package/esm2022/lib/pages/myaccount/security/security-faceid/security-faceid.component.mjs +3 -3
- package/esm2022/lib/pages/myaccount/security/security-index/security-index.component.mjs +6 -6
- package/esm2022/lib/pages/myaccount/security/security-password/security-password.component.mjs +8 -11
- package/esm2022/lib/pages/myaccount/security/security-verification/security-verification.component.mjs +6 -6
- package/esm2022/lib/services/wechat-login.service.mjs +9 -6
- package/fesm2022/{rolatech-angular-account-email-verification.component-D9e--XMc.mjs → rolatech-angular-account-email-verification.component-BMf1IfbK.mjs} +4 -4
- package/fesm2022/{rolatech-angular-account-email-verification.component-D9e--XMc.mjs.map → rolatech-angular-account-email-verification.component-BMf1IfbK.mjs.map} +1 -1
- package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs +44 -0
- package/fesm2022/rolatech-angular-account-email.component-BQaELPci.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs +55 -0
- package/fesm2022/rolatech-angular-account-gender.component-9GJeEE9U.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-home.component-BVB5vvE5.mjs +77 -0
- package/fesm2022/rolatech-angular-account-home.component-BVB5vvE5.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-info.component-CYY20QY4.mjs +98 -0
- package/fesm2022/rolatech-angular-account-info.component-CYY20QY4.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-account-login.routes-DWwDcOM9.mjs → rolatech-angular-account-login.routes-XD8QIaL9.mjs} +6 -10
- package/fesm2022/rolatech-angular-account-login.routes-XD8QIaL9.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs +68 -0
- package/fesm2022/rolatech-angular-account-phone.component-D2v9enci.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs +50 -0
- package/fesm2022/rolatech-angular-account-profile.component-WwV7Jpjy.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-C4Q8Ay9E.mjs +444 -0
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-C4Q8Ay9E.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs +203 -0
- package/fesm2022/rolatech-angular-account-security.routes-DiAm22Qh.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs +42 -0
- package/fesm2022/rolatech-angular-account-username.component-D8DPlm9P.mjs.map +1 -0
- package/fesm2022/rolatech-angular-account.mjs +2 -2
- package/lib/pages/myaccount/email/email.component.d.ts +5 -4
- package/lib/pages/myaccount/gender/gender.component.d.ts +4 -1
- package/lib/pages/myaccount/home/home.component.d.ts +8 -4
- package/lib/pages/myaccount/personal-info/info.component.d.ts +2 -4
- package/lib/pages/myaccount/personal-info/profile/profile.component.d.ts +2 -2
- package/lib/pages/myaccount/personal-info/username/username.component.d.ts +2 -2
- package/lib/pages/myaccount/phone/phone.component.d.ts +2 -2
- package/lib/pages/myaccount/security/security-verification/security-verification.component.d.ts +1 -1
- package/lib/services/wechat-login.service.d.ts +3 -1
- package/package.json +5 -5
- package/themes/_default.scss +1 -1
- package/fesm2022/rolatech-angular-account-email.component-DC8qYVOJ.mjs +0 -44
- package/fesm2022/rolatech-angular-account-email.component-DC8qYVOJ.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-gender.component-DWdWJiQW.mjs +0 -49
- package/fesm2022/rolatech-angular-account-gender.component-DWdWJiQW.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-home.component-DOQ-USiX.mjs +0 -41
- package/fesm2022/rolatech-angular-account-home.component-DOQ-USiX.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-info.component-DNi4eTxV.mjs +0 -105
- package/fesm2022/rolatech-angular-account-info.component-DNi4eTxV.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-login.routes-DWwDcOM9.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-phone.component-r9dWPfEL.mjs +0 -73
- package/fesm2022/rolatech-angular-account-phone.component-r9dWPfEL.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-profile.component-CJfmQ3Ba.mjs +0 -44
- package/fesm2022/rolatech-angular-account-profile.component-CJfmQ3Ba.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-CMkF3BmF.mjs +0 -429
- package/fesm2022/rolatech-angular-account-rolatech-angular-account-CMkF3BmF.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-security.routes-Dag8RZ38.mjs +0 -204
- package/fesm2022/rolatech-angular-account-security.routes-Dag8RZ38.mjs.map +0 -1
- package/fesm2022/rolatech-angular-account-username.component-BL2F5fnx.mjs +0 -44
- package/fesm2022/rolatech-angular-account-username.component-BL2F5fnx.mjs.map +0 -1
|
@@ -72,11 +72,11 @@ export class SignupComponent extends BaseComponent {
|
|
|
72
72
|
},
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
76
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
75
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SignupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
76
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: SignupComponent, isStandalone: true, selector: "rolatech-account-signup", usesInheritance: true, ngImport: i0, template: "<div class=\"h-full flex flex-col md:justify-center items-center sm:bg-gray-100\">\n <div\n class=\"w-full p-6 lg:p-11 rounded-xl bg-white flex flex-col lg:flex-row justify-between xl:w-[800px] lg:w-[600px] sm:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\">\u6CE8\u518C</div>\n <div class=\"text-md ml-2\">\u521B\u5EFA\u8D26\u53F7, \u83B7\u5F97\u66F4\u591A\u529F\u80FD</div>\n </div>\n <div>\n <form [formGroup]=\"signupForm\" (submit)=\"submit()\" class=\"flex flex-col\">\n <!-- name -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u59D3\u540D </mat-label>\n <input matInput formControlName=\"name\" required />\n @if (signupForm.controls['name'].touched && signupForm.controls['name'].invalid) {\n <mat-error>\n @if (signupForm.controls['name'].errors?.['required']) {\n <span>\u59D3\u540D\u5FC5\u586B</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput formControlName=\"phone\" required />\n @if (signupForm.controls['phone'].touched && signupForm.controls['phone'].invalid) {\n <mat-error>\n @if (signupForm.controls['phone'].errors?.['required']) {\n <span>\u624B\u673A\u53F7\u5FC5\u586B</span>\n }\n @if (signupForm.controls['phone'].errors?.['pattern']) {\n <span> \u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone code -->\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\" class=\"w-full\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput type=\"text\" formControlName=\"code\" autocomplete=\"new-password\" required />\n @if (signupForm.controls['code'].touched && signupForm.controls['code'].invalid) {\n <mat-error>\n @if (signupForm.controls['code'].errors?.['required']) {\n <span>\u9A8C\u8BC1\u7801\u5FC5\u586B</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px] text-white text-center\">\n <span>{{ showButtonText }}</span>\n </button>\n </div>\n\n <!-- password -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u5BC6\u7801 </mat-label>\n <input matInput formControlName=\"password\" type=\"password\" autocomplete=\"password\" />\n @if (signupForm.controls['password'].touched && signupForm.controls['password'].invalid) {\n <mat-error>\n @if (signupForm.controls['password'].errors?.['required']) {\n <span>\u8BF7\u8F93\u5165\u5BC6\u7801</span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <!-- password confirm -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u786E\u8BA4\u5BC6\u7801 </mat-label>\n <input matInput formControlName=\"rePassword\" type=\"password\" autocomplete=\"rePassword\" />\n @if (signupForm.controls['rePassword'].touched && signupForm.controls['rePassword'].invalid) {\n <mat-error>\n @if (signupForm.controls['rePassword'].errors?.['required']) {\n <span>\u8BF7\u786E\u8BA4\u5BC6\u7801</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a mat-button href=\"/signin\">\u767B\u5F55</a>\n <button mat-flat-button (click)=\"submit()\" class=\"w-[128px]\">\u6CE8\u518C</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }] }); }
|
|
77
77
|
}
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: SignupComponent, decorators: [{
|
|
79
79
|
type: Component,
|
|
80
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-signup', template: "<div class=\"h-full flex flex-col md:justify-center items-center\">\n <div
|
|
80
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'rolatech-account-signup', template: "<div class=\"h-full flex flex-col md:justify-center items-center sm:bg-gray-100\">\n <div\n class=\"w-full p-6 lg:p-11 rounded-xl bg-white flex flex-col lg:flex-row justify-between xl:w-[800px] lg:w-[600px] sm:w-[600px]\"\n >\n <!-- header -->\n <div class=\"flex flex-col py-6\">\n <div class=\"text-3xl font-medium mb-3 ml-2\">\u6CE8\u518C</div>\n <div class=\"text-md ml-2\">\u521B\u5EFA\u8D26\u53F7, \u83B7\u5F97\u66F4\u591A\u529F\u80FD</div>\n </div>\n <div>\n <form [formGroup]=\"signupForm\" (submit)=\"submit()\" class=\"flex flex-col\">\n <!-- name -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u59D3\u540D </mat-label>\n <input matInput formControlName=\"name\" required />\n @if (signupForm.controls['name'].touched && signupForm.controls['name'].invalid) {\n <mat-error>\n @if (signupForm.controls['name'].errors?.['required']) {\n <span>\u59D3\u540D\u5FC5\u586B</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u624B\u673A\u53F7 </mat-label>\n <input matInput formControlName=\"phone\" required />\n @if (signupForm.controls['phone'].touched && signupForm.controls['phone'].invalid) {\n <mat-error>\n @if (signupForm.controls['phone'].errors?.['required']) {\n <span>\u624B\u673A\u53F7\u5FC5\u586B</span>\n }\n @if (signupForm.controls['phone'].errors?.['pattern']) {\n <span> \u624B\u673A\u53F7\u683C\u5F0F\u9519\u8BEF </span>\n }\n </mat-error>\n }\n </mat-form-field>\n <!-- phone code -->\n <div class=\"flex justify-between items-center gap-3\">\n <mat-form-field appearance=\"fill\" class=\"w-full\">\n <mat-label> \u9A8C\u8BC1\u7801 </mat-label>\n <input matInput type=\"text\" formControlName=\"code\" autocomplete=\"new-password\" required />\n @if (signupForm.controls['code'].touched && signupForm.controls['code'].invalid) {\n <mat-error>\n @if (signupForm.controls['code'].errors?.['required']) {\n <span>\u9A8C\u8BC1\u7801\u5FC5\u586B</span>\n }\n </mat-error>\n }\n </mat-form-field>\n <button mat-button (click)=\"sendSMSCode()\" [disabled]=\"countDown\" class=\"w-[128px] text-white text-center\">\n <span>{{ showButtonText }}</span>\n </button>\n </div>\n\n <!-- password -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u5BC6\u7801 </mat-label>\n <input matInput formControlName=\"password\" type=\"password\" autocomplete=\"password\" />\n @if (signupForm.controls['password'].touched && signupForm.controls['password'].invalid) {\n <mat-error>\n @if (signupForm.controls['password'].errors?.['required']) {\n <span>\u8BF7\u8F93\u5165\u5BC6\u7801</span>\n }\n </mat-error>\n }\n </mat-form-field>\n\n <!-- password confirm -->\n <mat-form-field appearance=\"fill\">\n <mat-label> \u786E\u8BA4\u5BC6\u7801 </mat-label>\n <input matInput formControlName=\"rePassword\" type=\"password\" autocomplete=\"rePassword\" />\n @if (signupForm.controls['rePassword'].touched && signupForm.controls['rePassword'].invalid) {\n <mat-error>\n @if (signupForm.controls['rePassword'].errors?.['required']) {\n <span>\u8BF7\u786E\u8BA4\u5BC6\u7801</span>\n }\n </mat-error>\n }\n </mat-form-field>\n </form>\n <div class=\"flex justify-between items-center py-3 pl-2\">\n <a mat-button href=\"/signin\">\u767B\u5F55</a>\n <button mat-flat-button (click)=\"submit()\" class=\"w-[128px]\">\u6CE8\u518C</button>\n </div>\n </div>\n </div>\n</div>\n", styles: ["input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{transition:background-color 0s 600000s,color 0s 600000s!important}\n"] }]
|
|
81
81
|
}] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvYWNjb3VudHMvc2lnbnVwL3NpZ251cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL2FjY291bnRzL3NpZ251cC9zaWdudXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBUGxEOztRQVNFLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxPQUFPLENBQUM7S0FxRDFCO0lBbkRDLFFBQVE7UUFDTixJQUFJLENB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LENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0RVLGVBQWU7a0dBQWYsZUFBZSwwR0NiNUIsNnVIQXlGQSx1R0RqRlksbUJBQW1CLHlxQ0FBRSx1QkFBdUI7OzJGQUszQyxlQUFlO2tCQVAzQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDLFlBQzdDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBBUFBfQ09ORklHLCBXSU5ET1cgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEJhc2VDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXNpZ251cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWdudXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbnVwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNpZ251cEZvcm0hOiBGb3JtR3JvdXA7XG4gIGNvbnRpbnVlID0gJy8nO1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgZm9ybUJ1aWxkZXIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICBlbnZpcm9ubWVudCA9IGluamVjdChBUFBfQ09ORklHKTtcbiAgd2luZG93ID0gaW5qZWN0KFdJTkRPVyk7XG4gIGNvdW50RG93biA9IGZhbHNlO1xuICBjb3VudERvd25UaW1lID0gNjA7XG4gIHNob3dCdXR0b25UZXh0ID0gJ+WPkemAgemqjOivgeeggSc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoJ+i0puWPt+azqOWGjCAtIOaLvOWwj+ivvicpO1xuICAgIHRoaXMuc2lnbnVwRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGhvbmU6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKCcxKDN8NHw1fDZ8N3w4fDkpXFxcXGR7OX0nKV1dLFxuICAgICAgY29kZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHJlUGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICB9KTtcbiAgICB0aGlzLmNvbnRpbnVlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGludWUnXSB8fCAnLyc7XG4gIH1cbiAgc2VuZFNNU0NvZGUoKSB7XG4gICAgY29uc3QgcGhvbmVDb250cm9sID0gdGhpcy5zaWdudXBGb3JtLmdldCgncGhvbmUnKTtcbiAgICBpZiAoIXBob25lQ29udHJvbD8udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGhvbmUgPSBwaG9uZUNvbnRyb2wudmFsdWU7XG4gICAgdGhpcy5jb3VudERvd24gPSB0cnVlO1xuICAgIGNvbnN0IHN0YXJ0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY291bnREb3duVGltZSA+PSAwKSB7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblRleHQgPSBgJHt0aGlzLmNvdW50RG93blRpbWUtLX3np5Lph43lj5FgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChzdGFydCk7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblRleHQgPSAn6YeN5paw5Y+R6YCBJztcbiAgICAgICAgdGhpcy5jb3VudERvd24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb3VudERvd25UaW1lID0gNjA7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2Uuc2VuZFNNU0NvZGUoJys4NicsIHBob25lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCflj5HpgIHmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2lnbnVwRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge307XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2Uuc2lnbnVwKHRoaXMuc2lnbnVwRm9ybS52YWx1ZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuY29udGludWUgPyB0aGlzLmNvbnRpbnVlIDogdGhpcy5lbnZpcm9ubWVudC5teWFjY291bnRVcmw7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sIG1kOmp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICA8ZGl2IGNsYXNzPVwibWQ6c2hhZG93LW1kIHAtOCByb3VuZGVkLW1kXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHQtMnhsIHBsLTIgcGItNlwiPuazqOWGjDwvZGl2PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwic2lnbnVwRm9ybVwiIChzdWJtaXQpPVwic3VibWl0KClcIj5cbiAgICAgIDwhLS0gbmFtZSAtLT5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICA8bWF0LWxhYmVsPiDlp5PlkI0gPC9tYXQtbGFiZWw+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWyduYW1lJ10udG91Y2hlZCAmJiBzaWdudXBGb3JtLmNvbnRyb2xzWyduYW1lJ10uaW52YWxpZCkge1xuICAgICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ25hbWUnXS5lcnJvcnM/LlsncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICA8c3Bhbj7lp5PlkI3lv4Xloas8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICA8IS0tIHBob25lIC0tPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgIDxtYXQtbGFiZWw+IOaJi+acuuWPtyA8L21hdC1sYWJlbD5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInBob25lXCIgcmVxdWlyZWQgLz5cbiAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWydwaG9uZSddLnRvdWNoZWQgJiYgc2lnbnVwRm9ybS5jb250cm9sc1sncGhvbmUnXS5pbnZhbGlkKSB7XG4gICAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1sncGhvbmUnXS5lcnJvcnM/LlsncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICA8c3Bhbj7miYvmnLrlj7flv4Xloas8L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3Bob25lJ10uZXJyb3JzPy5bJ3BhdHRlcm4nXSkge1xuICAgICAgICAgICAgICA8c3Bhbj4g5omL5py65Y+35qC85byP6ZSZ6K+vIDwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwhLS0gcGhvbmUgY29kZSAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1zdGFydCBnYXAtM1wiPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDpqozor4HnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImNvZGVcIiByZXF1aXJlZCAvPlxuICAgICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1snY29kZSddLnRvdWNoZWQgJiYgc2lnbnVwRm9ybS5jb250cm9sc1snY29kZSddLmludmFsaWQpIHtcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1snY29kZSddLmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+6aqM6K+B56CB5b+F5aGrPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAoY2xpY2spPVwic2VuZFNNU0NvZGUoKVwiXG4gICAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciBiZy1vcmFuZ2UtNjAwIGhvdmVyOmJnLW9yYW5nZS03MDAgdy1bMTI4cHhdIHAtMyBtdC0yIHNoYWRvdy1ncmF5LTMwMCBzaGFkb3cgaG92ZXI6c2hhZG93LWxnIHRleHQtd2hpdGUgcm91bmRlZCB0ZXh0LWNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8c3Bhbj7lj5HpgIHpqozor4HnoIE8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gcGFzc3dvcmQgLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD4g5a+G56CBIDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiBhdXRvY29tcGxldGU9XCJwYXNzd29yZFwiIC8+XG4gICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS50b3VjaGVkICYmIHNpZ251cEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uaW52YWxpZCkge1xuICAgICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgPHNwYW4+6K+36L6T5YWl5a+G56CBPC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICB9XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8IS0tIHBhc3N3b3JkIGNvbmZpcm0gLS0+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgPG1hdC1sYWJlbD4g56Gu6K6k5a+G56CBIDwvbWF0LWxhYmVsPlxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwicmVQYXNzd29yZFwiIHR5cGU9XCJwYXNzd29yZFwiIGF1dG9jb21wbGV0ZT1cInJlUGFzc3dvcmRcIiAvPlxuICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3JlUGFzc3dvcmQnXS50b3VjaGVkICYmIHNpZ251cEZvcm0uY29udHJvbHNbJ3JlUGFzc3dvcmQnXS5pbnZhbGlkKSB7XG4gICAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1sncmVQYXNzd29yZCddLmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgIDxzcGFuPuivt+ehruiupOWvhueggTwvc3Bhbj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweC0zXCI+XG4gICAgICA8YSBtYXQtYnV0dG9uIGhyZWY9XCIvc2lnbmluXCI+55m75b2VPC9hPlxuICAgICAgPGRpdlxuICAgICAgICAoY2xpY2spPVwic3VibWl0KClcIlxuICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyIGJnLW9yYW5nZS02MDAgaG92ZXI6Ymctb3JhbmdlLTcwMCB3LVsxMjhweF0gcC0zIHNoYWRvdy1ncmF5LTMwMCBzaGFkb3cgaG92ZXI6c2hhZG93LWxnIHRleHQtd2hpdGUgcm91bmRlZCB0ZXh0LWNlbnRlclwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuPuazqOWGjDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvYWNjb3VudHMvc2lnbnVwL3NpZ251cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL2FjY291bnRzL3NpZ251cC9zaWdudXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVN6RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBUGxEOztRQVNFLGFBQVEsR0FBRyxHQUFHLENBQUM7UUFDZixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNqQyxXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxPQUFPLENBQUM7S0FxRDFCO0lBbkRDLFFBQVE7UUFDTixJQUFJLENB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LENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0RVLGVBQWU7a0dBQWYsZUFBZSwwR0NiNUIsK2hJQXlGQSw0T0RqRlksbUJBQW1CLHlxQ0FBRSx1QkFBdUI7OzJGQUszQyxlQUFlO2tCQVAzQixTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixDQUFDLFlBQzdDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlLCBBUFBfQ09ORklHLCBXSU5ET1cgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21tb24nO1xuaW1wb3J0IHsgQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsIEJhc2VDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LXNpZ251cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaWdudXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaWdudXAuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2lnbnVwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHNpZ251cEZvcm0hOiBGb3JtR3JvdXA7XG4gIGNvbnRpbnVlID0gJy8nO1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgZm9ybUJ1aWxkZXIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICBlbnZpcm9ubWVudCA9IGluamVjdChBUFBfQ09ORklHKTtcbiAgd2luZG93ID0gaW5qZWN0KFdJTkRPVyk7XG4gIGNvdW50RG93biA9IGZhbHNlO1xuICBjb3VudERvd25UaW1lID0gNjA7XG4gIHNob3dCdXR0b25UZXh0ID0gJ+WPkemAgemqjOivgeeggSc7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZVNlcnZpY2Uuc2V0VGl0bGUoJ+i0puWPt+azqOWGjCAtIOaLvOWwj+ivvicpO1xuICAgIHRoaXMuc2lnbnVwRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgbmFtZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGhvbmU6IFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5wYXR0ZXJuKCcxKDN8NHw1fDZ8N3w4fDkpXFxcXGR7OX0nKV1dLFxuICAgICAgY29kZTogW251bGwsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIHJlUGFzc3dvcmQ6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICB9KTtcbiAgICB0aGlzLmNvbnRpbnVlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtc1snY29udGludWUnXSB8fCAnLyc7XG4gIH1cbiAgc2VuZFNNU0NvZGUoKSB7XG4gICAgY29uc3QgcGhvbmVDb250cm9sID0gdGhpcy5zaWdudXBGb3JtLmdldCgncGhvbmUnKTtcbiAgICBpZiAoIXBob25lQ29udHJvbD8udmFsaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcGhvbmUgPSBwaG9uZUNvbnRyb2wudmFsdWU7XG4gICAgdGhpcy5jb3VudERvd24gPSB0cnVlO1xuICAgIGNvbnN0IHN0YXJ0ID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY291bnREb3duVGltZSA+PSAwKSB7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblRleHQgPSBgJHt0aGlzLmNvdW50RG93blRpbWUtLX3np5Lph43lj5FgO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbChzdGFydCk7XG4gICAgICAgIHRoaXMuc2hvd0J1dHRvblRleHQgPSAn6YeN5paw5Y+R6YCBJztcbiAgICAgICAgdGhpcy5jb3VudERvd24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jb3VudERvd25UaW1lID0gNjA7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2Uuc2VuZFNNU0NvZGUoJys4NicsIHBob25lKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlcykgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKCflj5HpgIHmiJDlip8nKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAoIXRoaXMuc2lnbnVwRm9ybS52YWxpZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0ge307XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2Uuc2lnbnVwKHRoaXMuc2lnbnVwRm9ybS52YWx1ZSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy53aW5kb3cubG9jYXRpb24uaHJlZiA9IHRoaXMuY29udGludWUgPyB0aGlzLmNvbnRpbnVlIDogdGhpcy5lbnZpcm9ubWVudC5teWFjY291bnRVcmw7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnNuYWNrQmFyU2VydmljZS5vcGVuKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImgtZnVsbCBmbGV4IGZsZXgtY29sIG1kOmp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBzbTpiZy1ncmF5LTEwMFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ3LWZ1bGwgcC02IGxnOnAtMTEgcm91bmRlZC14bCBiZy13aGl0ZSBmbGV4IGZsZXgtY29sIGxnOmZsZXgtcm93IGp1c3RpZnktYmV0d2VlbiB4bDp3LVs4MDBweF0gbGc6dy1bNjAwcHhdIHNtOnctWzYwMHB4XVwiXG4gID5cbiAgICA8IS0tIGhlYWRlciAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBweS02XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC0zeGwgZm9udC1tZWRpdW0gbWItMyBtbC0yXCI+5rOo5YaMPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1tZCBtbC0yXCI+5Yib5bu66LSm5Y+3LCDojrflvpfmm7TlpJrlip/og708L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJzaWdudXBGb3JtXCIgKHN1Ym1pdCk9XCJzdWJtaXQoKVwiIGNsYXNzPVwiZmxleCBmbGV4LWNvbFwiPlxuICAgICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+IOWnk+WQjSA8L21hdC1sYWJlbD5cbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWyduYW1lJ10udG91Y2hlZCAmJiBzaWdudXBGb3JtLmNvbnRyb2xzWyduYW1lJ10uaW52YWxpZCkge1xuICAgICAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWyduYW1lJ10uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj7lp5PlkI3lv4Xloas8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgPCEtLSBwaG9uZSAtLT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD4g5omL5py65Y+3IDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwaG9uZVwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWydwaG9uZSddLnRvdWNoZWQgJiYgc2lnbnVwRm9ybS5jb250cm9sc1sncGhvbmUnXS5pbnZhbGlkKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPlxuICAgICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3Bob25lJ10uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj7miYvmnLrlj7flv4Xloas8L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWydwaG9uZSddLmVycm9ycz8uWydwYXR0ZXJuJ10pIHtcbiAgICAgICAgICAgICAgICA8c3Bhbj4g5omL5py65Y+35qC85byP6ZSZ6K+vIDwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICA8IS0tIHBob25lIGNvZGUgLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktYmV0d2VlbiBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cInctZnVsbFwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD4g6aqM6K+B56CBIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwiY29kZVwiIGF1dG9jb21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ2NvZGUnXS50b3VjaGVkICYmIHNpZ251cEZvcm0uY29udHJvbHNbJ2NvZGUnXS5pbnZhbGlkKSB7XG4gICAgICAgICAgICAgIDxtYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWydjb2RlJ10uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgICAgICAgIDxzcGFuPumqjOivgeeggeW/heWhqzwvc3Bhbj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzZW5kU01TQ29kZSgpXCIgW2Rpc2FibGVkXT1cImNvdW50RG93blwiIGNsYXNzPVwidy1bMTI4cHhdIHRleHQtd2hpdGUgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPnt7IHNob3dCdXR0b25UZXh0IH19PC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8IS0tIHBhc3N3b3JkIC0tPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDlr4bnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInBhc3N3b3JkXCIgdHlwZT1cInBhc3N3b3JkXCIgYXV0b2NvbXBsZXRlPVwicGFzc3dvcmRcIiAvPlxuICAgICAgICAgIEBpZiAoc2lnbnVwRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXS50b3VjaGVkICYmIHNpZ251cEZvcm0uY29udHJvbHNbJ3Bhc3N3b3JkJ10uaW52YWxpZCkge1xuICAgICAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICAgICAgQGlmIChzaWdudXBGb3JtLmNvbnRyb2xzWydwYXNzd29yZCddLmVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4+6K+36L6T5YWl5a+G56CBPC9zcGFuPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPCEtLSBwYXNzd29yZCBjb25maXJtIC0tPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIj5cbiAgICAgICAgICA8bWF0LWxhYmVsPiDnoa7orqTlr4bnoIEgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInJlUGFzc3dvcmRcIiB0eXBlPVwicGFzc3dvcmRcIiBhdXRvY29tcGxldGU9XCJyZVBhc3N3b3JkXCIgLz5cbiAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3JlUGFzc3dvcmQnXS50b3VjaGVkICYmIHNpZ251cEZvcm0uY29udHJvbHNbJ3JlUGFzc3dvcmQnXS5pbnZhbGlkKSB7XG4gICAgICAgICAgICA8bWF0LWVycm9yPlxuICAgICAgICAgICAgICBAaWYgKHNpZ251cEZvcm0uY29udHJvbHNbJ3JlUGFzc3dvcmQnXS5lcnJvcnM/LlsncmVxdWlyZWQnXSkge1xuICAgICAgICAgICAgICAgIDxzcGFuPuivt+ehruiupOWvhueggTwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgfVxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9mb3JtPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBweS0zIHBsLTJcIj5cbiAgICAgICAgPGEgbWF0LWJ1dHRvbiBocmVmPVwiL3NpZ25pblwiPueZu+W9lTwvYT5cbiAgICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cInN1Ym1pdCgpXCIgY2xhc3M9XCJ3LVsxMjhweF1cIj7ms6jlhow8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
2
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
1
|
+
import { Component, effect, inject } from '@angular/core';
|
|
2
|
+
import { AuthStore, AuthUserService } from '@rolatech/angular-auth';
|
|
3
3
|
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
4
|
-
import { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';
|
|
4
|
+
import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
|
|
5
5
|
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/forms";
|
|
@@ -10,32 +10,32 @@ import * as i3 from "@angular/material/form-field";
|
|
|
10
10
|
import * as i4 from "@angular/material/input";
|
|
11
11
|
export class EmailComponent extends BaseComponent {
|
|
12
12
|
constructor() {
|
|
13
|
-
super(
|
|
13
|
+
super();
|
|
14
14
|
this.authUserService = inject(AuthUserService);
|
|
15
|
+
this.authStore = inject(AuthStore);
|
|
16
|
+
this.user = this.authStore.user;
|
|
15
17
|
this.email = '';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.authUserService.me().subscribe({
|
|
19
|
-
next: (res) => {
|
|
20
|
-
this.email = res.email;
|
|
21
|
-
},
|
|
18
|
+
effect(() => {
|
|
19
|
+
this.email = this.user()?.email;
|
|
22
20
|
});
|
|
23
21
|
}
|
|
22
|
+
ngOnInit() { }
|
|
24
23
|
save() {
|
|
25
24
|
this.authUserService.update({ email: this.email }).subscribe({
|
|
26
25
|
next: (res) => {
|
|
27
26
|
this.snackBarService.open('修改成功');
|
|
27
|
+
this.authStore.updateEmail(this.email);
|
|
28
28
|
},
|
|
29
29
|
error: (error) => {
|
|
30
30
|
this.snackBarService.open(error.message);
|
|
31
31
|
},
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: EmailComponent, isStandalone: true, selector: "rolatech-account-email", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u90AE\u7BB1\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u60A8\u53EF\u4EE5\u901A\u8FC7\u90AE\u7BB1\u83B7\u5F97\u66F4\u591A\u6211\u4EEC\u7684\u4EA7\u54C1\u4FE1\u606F</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
|
-
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective], selector: 'rolatech-account-email', template: "<
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule, BackButtonDirective, AppContainerComponent, ToolbarComponent], selector: 'rolatech-account-email', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u4FEE\u6539\u90AE\u7BB1\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <p class=\"text-md\">\u60A8\u53EF\u4EE5\u901A\u8FC7\u90AE\u7BB1\u83B7\u5F97\u66F4\u591A\u6211\u4EEC\u7684\u4EA7\u54C1\u4FE1\u606F</p>\n <div class=\"flex flex-col mt-6\">\n <mat-form-field appearance=\"fill\">\n <input matInput [(ngModel)]=\"email\" />\n </mat-form-field>\n </div>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n" }]
|
|
40
|
+
}], ctorParameters: () => [] });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvZW1haWwvZW1haWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvZW1haWwvZW1haWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBaUMsTUFBTSxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFlLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0gsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7OztBQVNqRSxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFLL0M7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUxWLG9CQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzFDLGNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUIsU0FBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQzNCLFVBQUssR0FBdUIsRUFBRSxDQUFDO1FBRzdCLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFFbkIsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMzRCxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxDQUFDO1lBQzFDLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDZixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0MsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdkJVLGNBQWM7a0dBQWQsY0FBYyx5R0NiM0IsOHRCQWVBLHlERFBZLG1CQUFtQiw4bUJBQUUsdUJBQXVCLG12QkFBRSxtQkFBbUIsaUVBQUUscUJBQXFCLG1FQUFFLGdCQUFnQjs7MkZBS3pHLGNBQWM7a0JBUDFCLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsWUFDM0csd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFBMQVRGT1JNX0lELCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIG1vZGVsLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBBdXRoU3RvcmUsIEF1dGhVc2VyU2VydmljZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWF1dGgnO1xuaW1wb3J0IHsgQW5ndWxhckNvbW1vbk1vZHVsZSB9IGZyb20gJ0Byb2xhdGVjaC9hbmd1bGFyLWNvbW1vbic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgQXBwQ29udGFpbmVyQ29tcG9uZW50LCBCYXNlQ29tcG9uZW50LCBUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBCYWNrQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItc2VydmljZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0FuZ3VsYXJDb21tb25Nb2R1bGUsIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBCYWNrQnV0dG9uRGlyZWN0aXZlLCBBcHBDb250YWluZXJDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnRdLFxuICBzZWxlY3RvcjogJ3JvbGF0ZWNoLWFjY291bnQtZW1haWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1haWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbWFpbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBFbWFpbENvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBhdXRoVXNlclNlcnZpY2UgPSBpbmplY3QoQXV0aFVzZXJTZXJ2aWNlKTtcbiAgYXV0aFN0b3JlID0gaW5qZWN0KEF1dGhTdG9yZSk7XG4gIHVzZXIgPSB0aGlzLmF1dGhTdG9yZS51c2VyO1xuICBlbWFpbDogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyc7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIHRoaXMuZW1haWwgPSB0aGlzLnVzZXIoKT8uZW1haWw7XG4gICAgfSk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gIHNhdmUoKSB7XG4gICAgdGhpcy5hdXRoVXNlclNlcnZpY2UudXBkYXRlKHsgZW1haWw6IHRoaXMuZW1haWwgfSkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXMpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3Blbign5L+u5pS55oiQ5YqfJyk7XG4gICAgICAgIHRoaXMuYXV0aFN0b3JlLnVwZGF0ZUVtYWlsKHRoaXMuZW1haWwhKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oZXJyb3IubWVzc2FnZSk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgPHJvbGF0ZWNoLXRvb2xiYXIgdGl0bGU9XCLkv67mlLnpgq7nrrFcIiBsaW5rPVwiL3BlcnNvbmFsLWluZm9cIiBkaXZpZGVyPjwvcm9sYXRlY2gtdG9vbGJhcj5cbiAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICA8cCBjbGFzcz1cInRleHQtbWRcIj7mgqjlj6/ku6XpgJrov4fpgq7nrrHojrflvpfmm7TlpJrmiJHku6znmoTkuqflk4Hkv6Hmga88L3A+XG4gICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgbXQtNlwiPlxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbKG5nTW9kZWwpXT1cImVtYWlsXCIgLz5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1lbmQgaXRlbXMtY2VudGVyIG10LTNcIj5cbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiByb2xhdGVjaEJhY2tCdXR0b24+5Y+W5raIPC9idXR0b24+XG4gICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjbGFzcz1cInctMjAgbWwtM1wiIChjbGljayk9XCJzYXZlKClcIj7kv53lrZg8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3JvbGF0ZWNoLWFwcC1jb250YWluZXI+XG4iXX0=
|
|
@@ -16,10 +16,10 @@ export class EmailVerificationComponent extends BaseComponent {
|
|
|
16
16
|
this.dialogService.open(options);
|
|
17
17
|
this.dialogService.confirmed().subscribe((confirmed) => { });
|
|
18
18
|
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailVerificationComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.1", type: EmailVerificationComponent, isStandalone: true, selector: "myaccount-email-verification", usesInheritance: true, ngImport: i0, template: "<div class=\"p-3\">Email verification</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }] }); }
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: EmailVerificationComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ standalone: true, imports: [AngularCommonModule, AngularComponentsModule], selector: 'myaccount-email-verification', template: "<div class=\"p-3\">Email verification</div>\n" }]
|
|
25
25
|
}] });
|
|
@@ -1,31 +1,29 @@
|
|
|
1
|
-
import { Component, inject } from '@angular/core';
|
|
1
|
+
import { Component, effect, inject } from '@angular/core';
|
|
2
2
|
import { MatRadioModule } from '@angular/material/radio';
|
|
3
|
-
import { AuthUserService } from '@rolatech/angular-auth';
|
|
3
|
+
import { AuthService, AuthUserService } from '@rolatech/angular-auth';
|
|
4
4
|
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
|
-
import { AngularComponentsModule, BaseComponent } from '@rolatech/angular-components';
|
|
5
|
+
import { AngularComponentsModule, AppContainerComponent, BaseComponent, ToolbarComponent } from '@rolatech/angular-components';
|
|
6
6
|
import { BackButtonDirective } from '@rolatech/angular-services';
|
|
7
7
|
import { UserGender } from '../../../contant/user';
|
|
8
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
9
10
|
import * as i1 from "@angular/forms";
|
|
10
11
|
import * as i2 from "@angular/material/button";
|
|
11
|
-
import * as i3 from "@angular/material/
|
|
12
|
-
import * as i4 from "@angular/material/icon";
|
|
13
|
-
import * as i5 from "@angular/material/radio";
|
|
12
|
+
import * as i3 from "@angular/material/radio";
|
|
14
13
|
export class GenderComponent extends BaseComponent {
|
|
15
14
|
constructor() {
|
|
16
|
-
super(
|
|
15
|
+
super();
|
|
17
16
|
this.authUserService = inject(AuthUserService);
|
|
18
|
-
this.
|
|
17
|
+
this.GENDERS = ['男', '女', '不公开'];
|
|
19
18
|
this.gender = UserGender;
|
|
20
19
|
this.selectedGender = '';
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
this.selectedGender = this.gender[res.gender];
|
|
26
|
-
},
|
|
20
|
+
this.user = inject(AuthService).user;
|
|
21
|
+
this.email = '';
|
|
22
|
+
effect(() => {
|
|
23
|
+
this.selectedGender = this.gender[this.user()?.gender];
|
|
27
24
|
});
|
|
28
25
|
}
|
|
26
|
+
ngOnInit() { }
|
|
29
27
|
save() {
|
|
30
28
|
this.authUserService.update({ gender: this.gender[this.selectedGender] }).subscribe({
|
|
31
29
|
next: (res) => {
|
|
@@ -36,11 +34,19 @@ export class GenderComponent extends BaseComponent {
|
|
|
36
34
|
},
|
|
37
35
|
});
|
|
38
36
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: GenderComponent, isStandalone: true, selector: "rolatech-account-gender", usesInheritance: true, ngImport: i0, template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u8BBE\u7F6E\u6027\u522B\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <label class=\"px-2\">\u6027\u522B\u9009\u62E9</label>\n <mat-radio-group class=\"flex flex-col\" color=\"primary\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i3.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i3.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: BackButtonDirective, selector: "[rolatechBackButton]" }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "ngmodule", type: MatButtonModule }] }); }
|
|
41
39
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: GenderComponent, decorators: [{
|
|
43
41
|
type: Component,
|
|
44
|
-
args: [{ standalone: true, imports: [
|
|
45
|
-
|
|
46
|
-
|
|
42
|
+
args: [{ standalone: true, imports: [
|
|
43
|
+
AngularCommonModule,
|
|
44
|
+
AngularComponentsModule,
|
|
45
|
+
MatRadioModule,
|
|
46
|
+
BackButtonDirective,
|
|
47
|
+
AppContainerComponent,
|
|
48
|
+
ToolbarComponent,
|
|
49
|
+
MatButtonModule,
|
|
50
|
+
], selector: 'rolatech-account-gender', template: "<rolatech-app-container>\n <rolatech-toolbar title=\"\u8BBE\u7F6E\u6027\u522B\" link=\"/personal-info\" divider></rolatech-toolbar>\n <div class=\"py-3\">\n <label class=\"px-2\">\u6027\u522B\u9009\u62E9</label>\n <mat-radio-group class=\"flex flex-col\" color=\"primary\" [(ngModel)]=\"selectedGender\">\n @for (gender of GENDERS; track gender) {\n <mat-radio-button [value]=\"gender\">{{ gender }}</mat-radio-button>\n }\n </mat-radio-group>\n <div class=\"flex justify-end items-center mt-3\">\n <button mat-button rolatechBackButton>\u53D6\u6D88</button>\n <button mat-flat-button class=\"w-20 p-2 ml-3\" (click)=\"save()\">\u4FDD\u5B58</button>\n </div>\n </div>\n</rolatech-app-container>\n" }]
|
|
51
|
+
}], ctorParameters: () => [] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1hY2NvdW50L3NyYy9saWIvcGFnZXMvbXlhY2NvdW50L2dlbmRlci9nZW5kZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvZ2VuZGVyL2dlbmRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLHFCQUFxQixFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBaUIzRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxhQUFhO0lBUWhEO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUFSVixvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQWEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFdBQU0sR0FBUSxVQUFVLENBQUM7UUFDekIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFFcEIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsVUFBSyxHQUF1QixFQUFFLENBQUM7UUFHN0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTyxDQUFDLENBQUM7UUFDMUQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsUUFBUSxLQUFVLENBQUM7SUFFbkIsSUFBSTtRQUNGLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEYsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F6QlUsZUFBZTtrR0FBZixlQUFlLDBHQ3hCNUIsdXVCQWVBLHlEREhJLG1CQUFtQiw4VkFDbkIsdUJBQXVCLG11QkFDdkIsY0FBYywrQkFDZCxtQkFBbUIsaUVBQ25CLHFCQUFxQixtRUFDckIsZ0JBQWdCLCtIQUNoQixlQUFlOzsyRkFNTixlQUFlO2tCQWYzQixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixlQUFlO3FCQUNoQixZQUNTLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UmFkaW9Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgQXV0aFVzZXJTZXJ2aWNlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItYXV0aCc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBBcHBDb250YWluZXJDb21wb25lbnQsIEJhc2VDb21wb25lbnQsIFRvb2xiYXJDb21wb25lbnQgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCB7IEJhY2tCdXR0b25EaXJlY3RpdmUgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBVc2VyR2VuZGVyIH0gZnJvbSAnLi4vLi4vLi4vY29udGFudC91c2VyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBCYWNrQnV0dG9uRGlyZWN0aXZlLFxuICAgIEFwcENvbnRhaW5lckNvbXBvbmVudCxcbiAgICBUb29sYmFyQ29tcG9uZW50LFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWdlbmRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5kZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9nZW5kZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2VuZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGF1dGhVc2VyU2VydmljZSA9IGluamVjdChBdXRoVXNlclNlcnZpY2UpO1xuICBHRU5ERVJTOiBzdHJpbmdbXSA9IFsn55S3JywgJ+WlsycsICfkuI3lhazlvIAnXTtcbiAgZ2VuZGVyOiBhbnkgPSBVc2VyR2VuZGVyO1xuICBzZWxlY3RlZEdlbmRlciA9ICcnO1xuXG4gIHVzZXIgPSBpbmplY3QoQXV0aFNlcnZpY2UpLnVzZXI7XG4gIGVtYWlsOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnJztcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZWxlY3RlZEdlbmRlciA9IHRoaXMuZ2VuZGVyW3RoaXMudXNlcigpPy5nZW5kZXIhXTtcbiAgICB9KTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLmF1dGhVc2VyU2VydmljZS51cGRhdGUoeyBnZW5kZXI6IHRoaXMuZ2VuZGVyW3RoaXMuc2VsZWN0ZWRHZW5kZXJdIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzKSA9PiB7XG4gICAgICAgIHRoaXMuc25hY2tCYXJTZXJ2aWNlLm9wZW4oJ+S/ruaUueaIkOWKnycpO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5zbmFja0JhclNlcnZpY2Uub3BlbihlcnJvci5tZXNzYWdlKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxyb2xhdGVjaC1hcHAtY29udGFpbmVyPlxuICA8cm9sYXRlY2gtdG9vbGJhciB0aXRsZT1cIuiuvue9ruaAp+WIq1wiIGxpbms9XCIvcGVyc29uYWwtaW5mb1wiIGRpdmlkZXI+PC9yb2xhdGVjaC10b29sYmFyPlxuICA8ZGl2IGNsYXNzPVwicHktM1wiPlxuICAgIDxsYWJlbCBjbGFzcz1cInB4LTJcIj7mgKfliKvpgInmi6k8L2xhYmVsPlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgY2xhc3M9XCJmbGV4IGZsZXgtY29sXCIgY29sb3I9XCJwcmltYXJ5XCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZEdlbmRlclwiPlxuICAgICAgQGZvciAoZ2VuZGVyIG9mIEdFTkRFUlM7IHRyYWNrIGdlbmRlcikge1xuICAgICAgICA8bWF0LXJhZGlvLWJ1dHRvbiBbdmFsdWVdPVwiZ2VuZGVyXCI+e3sgZ2VuZGVyIH19PC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgfVxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktZW5kIGl0ZW1zLWNlbnRlciBtdC0zXCI+XG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gcm9sYXRlY2hCYWNrQnV0dG9uPuWPlua2iDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY2xhc3M9XCJ3LTIwIHAtMiBtbC0zXCIgKGNsaWNrKT1cInNhdmUoKVwiPuS/neWtmDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvcm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,22 +1,54 @@
|
|
|
1
1
|
import { Component, inject } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { AngularComponentsModule, BaseComponent, SpinnerComponent, TabComponent, TabsComponent, ToolbarComponent, } from '@rolatech/angular-components';
|
|
2
|
+
import { AuthService } from '@rolatech/angular-auth';
|
|
3
|
+
import { AngularComponentsModule, AppContainerComponent, BaseComponent, IconButtonComponent, SpinnerComponent, TabComponent, TabsComponent, ToolbarComponent, } from '@rolatech/angular-components';
|
|
4
4
|
import { AngularCommonModule } from '@rolatech/angular-common';
|
|
5
5
|
import { UserItemComponent } from '../../../components';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
7
|
export class HomeComponent extends BaseComponent {
|
|
9
8
|
constructor() {
|
|
10
9
|
super();
|
|
11
|
-
this.
|
|
10
|
+
this.links = [
|
|
11
|
+
{
|
|
12
|
+
name: '全部',
|
|
13
|
+
icon: 'dashboard',
|
|
14
|
+
status: '',
|
|
15
|
+
path: false,
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
name: '待付款',
|
|
19
|
+
icon: 'category',
|
|
20
|
+
status: 'created',
|
|
21
|
+
path: true,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: '已支付',
|
|
25
|
+
icon: 'category',
|
|
26
|
+
status: 'paid',
|
|
27
|
+
path: true,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: '已退款',
|
|
31
|
+
icon: 'category',
|
|
32
|
+
status: 'refunded',
|
|
33
|
+
path: true,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: '已取消',
|
|
37
|
+
icon: 'category',
|
|
38
|
+
status: 'canceled',
|
|
39
|
+
path: true,
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
this.user = inject(AuthService).user;
|
|
43
|
+
this.select = 0;
|
|
12
44
|
}
|
|
13
45
|
ngOnInit() {
|
|
14
|
-
this.
|
|
46
|
+
this.select = this.links.findIndex((item) => item.status === '');
|
|
15
47
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: HomeComponent, isStandalone: true, selector: "rolatech-account-home", usesInheritance: true, ngImport: i0, template: "@if (user(); as user) {\n <rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-app-container>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: AppContainerComponent, selector: "rolatech-app-container" }] }); }
|
|
18
50
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: HomeComponent, decorators: [{
|
|
20
52
|
type: Component,
|
|
21
53
|
args: [{ standalone: true, imports: [
|
|
22
54
|
AngularCommonModule,
|
|
@@ -26,6 +58,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
26
58
|
TabsComponent,
|
|
27
59
|
TabComponent,
|
|
28
60
|
ToolbarComponent,
|
|
29
|
-
|
|
61
|
+
AppContainerComponent,
|
|
62
|
+
ToolbarComponent,
|
|
63
|
+
IconButtonComponent,
|
|
64
|
+
], selector: 'rolatech-account-home', template: "@if (user(); as user) {\n <rolatech-app-container>\n <div class=\"max-w-[820px] m-3\">\n <div class=\"flex flex-col justify-center items-center p-3 mb-12\">\n <div class=\"p-3 mb-3\">\n <div class=\"w-20 h-20 rounded-full bg-orange-600\">\n @if (user.avatar) {\n <img class=\"w-20 h-20 rounded-full object-cover\" [src]=\"user.avatar\" />\n }\n </div>\n </div>\n <p class=\"text-3xl\">\u6B22\u8FCE\u56DE\u6765, {{ user.name }}</p>\n <p class=\"text-md\">\u7528\u6237\u4E2D\u5FC3, \u65B9\u4FBF\u60A8\u7EF4\u62A4\u4E2A\u4EBA\u4FE1\u606F, \u8FD9\u4F1A\u6709\u4E00\u4E2A\u5F88\u597D\u7684\u4F53\u9A8C</p>\n </div>\n </div>\n </rolatech-app-container>\n}\n" }]
|
|
30
65
|
}], ctorParameters: () => [] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjb3VudC9zcmMvbGliL3BhZ2VzL215YWNjb3VudC9ob21lL2hvbWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY291bnQvc3JjL2xpYi9wYWdlcy9teWFjY291bnQvaG9tZS9ob21lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQW9CeEQsTUFBTSxPQUFPLGFBQWMsU0FBUSxhQUFhO0lBbUM5QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBbkNWLFVBQUssR0FBRztZQUNOO2dCQUNFLElBQUksRUFBRSxJQUFJO2dCQUNWLElBQUksRUFBRSxXQUFXO2dCQUNqQixNQUFNLEVBQUUsRUFBRTtnQkFDVixJQUFJLEVBQUUsS0FBSzthQUNaO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxTQUFTO2dCQUNqQixJQUFJLEVBQUUsSUFBSTthQUNYO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLFVBQVU7Z0JBQ2hCLE1BQU0sRUFBRSxNQUFNO2dCQUNkLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLElBQUksRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDRSxJQUFJLEVBQUUsS0FBSztnQkFDWCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDO1FBQ0YsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDaEMsV0FBTSxHQUFHLENBQUMsQ0FBQztJQUdYLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDOzhHQXhDVSxhQUFhO2tHQUFiLGFBQWEsd0dDakMxQixndkJBaUJBLHlERENJLG1CQUFtQiw4QkFDbkIsdUJBQXVCLCtCQU12QixxQkFBcUI7OzJGQVFaLGFBQWE7a0JBbEJ6QixTQUFTO2lDQUNJLElBQUksV0FDUDt3QkFDUCxtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjt3QkFDckIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCLFlBQ1MsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAcm9sYXRlY2gvYW5ndWxhci1hdXRoJztcbmltcG9ydCB7XG4gIEFuZ3VsYXJDb21wb25lbnRzTW9kdWxlLFxuICBBcHBDb250YWluZXJDb21wb25lbnQsXG4gIEJhc2VDb21wb25lbnQsXG4gIEljb25CdXR0b25Db21wb25lbnQsXG4gIFNwaW5uZXJDb21wb25lbnQsXG4gIFRhYkNvbXBvbmVudCxcbiAgVGFic0NvbXBvbmVudCxcbiAgVG9vbGJhckNvbXBvbmVudCxcbn0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBbmd1bGFyQ29tbW9uTW9kdWxlIH0gZnJvbSAnQHJvbGF0ZWNoL2FuZ3VsYXItY29tbW9uJztcbmltcG9ydCB7IFVzZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQW5ndWxhckNvbW1vbk1vZHVsZSxcbiAgICBBbmd1bGFyQ29tcG9uZW50c01vZHVsZSxcbiAgICBTcGlubmVyQ29tcG9uZW50LFxuICAgIFVzZXJJdGVtQ29tcG9uZW50LFxuICAgIFRhYnNDb21wb25lbnQsXG4gICAgVGFiQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgQXBwQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgSWNvbkJ1dHRvbkNvbXBvbmVudCxcbiAgXSxcbiAgc2VsZWN0b3I6ICdyb2xhdGVjaC1hY2NvdW50LWhvbWUnLFxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hvbWUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBsaW5rcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAn5YWo6YOoJyxcbiAgICAgIGljb246ICdkYXNoYm9hcmQnLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIHBhdGg6IGZhbHNlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W+heS7mOasvicsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAnY3JlYXRlZCcsXG4gICAgICBwYXRoOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W3suaUr+S7mCcsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAncGFpZCcsXG4gICAgICBwYXRoOiB0cnVlLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ+W3sumAgOasvicsXG4gICAgICBpY29uOiAnY2F0ZWdvcnknLFxuICAgICAgc3RhdHVzOiAncmVmdW5kZWQnLFxuICAgICAgcGF0aDogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICflt7Llj5bmtognLFxuICAgICAgaWNvbjogJ2NhdGVnb3J5JyxcbiAgICAgIHN0YXR1czogJ2NhbmNlbGVkJyxcbiAgICAgIHBhdGg6IHRydWUsXG4gICAgfSxcbiAgXTtcbiAgdXNlciA9IGluamVjdChBdXRoU2VydmljZSkudXNlcjtcbiAgc2VsZWN0ID0gMDtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdCA9IHRoaXMubGlua3MuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnN0YXR1cyA9PT0gJycpO1xuICB9XG59XG4iLCJAaWYgKHVzZXIoKTsgYXMgdXNlcikge1xuICA8cm9sYXRlY2gtYXBwLWNvbnRhaW5lcj5cbiAgICA8ZGl2IGNsYXNzPVwibWF4LXctWzgyMHB4XSBtLTNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlciBwLTMgbWItMTJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInAtMyBtYi0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInctMjAgaC0yMCByb3VuZGVkLWZ1bGwgYmctb3JhbmdlLTYwMFwiPlxuICAgICAgICAgICAgQGlmICh1c2VyLmF2YXRhcikge1xuICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwidy0yMCBoLTIwIHJvdW5kZWQtZnVsbCBvYmplY3QtY292ZXJcIiBbc3JjXT1cInVzZXIuYXZhdGFyXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxwIGNsYXNzPVwidGV4dC0zeGxcIj7mrKLov47lm57mnaUsIHt7IHVzZXIubmFtZSB9fTwvcD5cbiAgICAgICAgPHAgY2xhc3M9XCJ0ZXh0LW1kXCI+55So5oi35Lit5b+DLCDmlrnkvr/mgqjnu7TmiqTkuKrkurrkv6Hmga8sIOi/meS8muacieS4gOS4quW+iOWlveeahOS9k+mqjDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3JvbGF0ZWNoLWFwcC1jb250YWluZXI+XG59XG4iXX0=
|