
* Fixed inputs not showing inline validation due to a missing class * Fixed some checks * Increased the button size on manga reader (develop) * Migrated a type cast to a pure pipe * Sped up the check for if SendTo should render on the menu * Don't allow user to bookmark in bookmark mode * Fixed a bug where Scan Series would skip over Specials due to how new scan loop works. * Fixed scroll to top button persisting when navigating between pages * Edit Series modal now doesn't have a lock field for Series, which can't be locked as it is inheritently locked. Added some validation to ensure Name and SortName are required. * Fixed up some spacing * Fixed actionable menu not opening submenu on mobile * Cleaned up the layout of cover image on series detail * Show all volume or chapters (if only one volume) for cover selection on series * Don't open submenu to right if there is no space * Fixed up cover image not allowing custom saves of existing series/chapter/volume images. Fixed up logging so console output matches log file. * Implemented the ability to turn off css transitions in the UI. * Updated a note internally * Code smells * Added InstallId when pinging the email service to allow throughput tracking
50 lines
1.8 KiB
TypeScript
50 lines
1.8 KiB
TypeScript
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';
|
|
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
|
import { SafeUrl } from '@angular/platform-browser';
|
|
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
|
|
import { ToastrService } from 'ngx-toastr';
|
|
import { AccountService } from 'src/app/_services/account.service';
|
|
|
|
@Component({
|
|
selector: 'app-add-email-to-account-migration-modal',
|
|
templateUrl: './add-email-to-account-migration-modal.component.html',
|
|
styleUrls: ['./add-email-to-account-migration-modal.component.scss'],
|
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
})
|
|
export class AddEmailToAccountMigrationModalComponent implements OnInit {
|
|
|
|
@Input() username!: string;
|
|
@Input() password!: string;
|
|
|
|
isSaving: boolean = false;
|
|
registerForm: FormGroup = new FormGroup({});
|
|
emailLink: string = '';
|
|
emailLinkUrl: SafeUrl | undefined;
|
|
error: string = '';
|
|
|
|
constructor(private accountService: AccountService, private modal: NgbActiveModal,
|
|
private toastr: ToastrService, private readonly cdRef: ChangeDetectorRef) {
|
|
}
|
|
|
|
ngOnInit(): void {
|
|
this.registerForm.addControl('username', new FormControl(this.username, [Validators.required]));
|
|
this.registerForm.addControl('email', new FormControl('', [Validators.required, Validators.email]));
|
|
this.registerForm.addControl('password', new FormControl(this.password, [Validators.required, Validators.minLength(6), Validators.maxLength(32)]));
|
|
this.cdRef.markForCheck();
|
|
}
|
|
|
|
close() {
|
|
this.modal.close(false);
|
|
}
|
|
|
|
save() {
|
|
const model = this.registerForm.getRawValue();
|
|
model.sendEmail = false;
|
|
this.accountService.migrateUser(model).subscribe(async () => {
|
|
this.toastr.success('Email has been validated');
|
|
this.modal.close(true);
|
|
}, err => {
|
|
this.error = err;
|
|
});
|
|
}
|
|
}
|