Bernardo Jordão
					
					2 months ago
					
						
							committed by
							
								
								GitHub
							
						 
					
				 
				
			 
		 
		
			
				
					
					No known key found for this signature in database
					
						
							GPG Key ID: B5690EEEBB952194
						
					
				
			
		
		
		
	
		
			
				 4 changed files with 
16 additions and 
8 deletions
			 
			
		 
		
			
				- 
					
					
					 
					CHANGELOG.md
				
 
			
				- 
					
					
					 
					apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.component.ts
				
 
			
				- 
					
					
					 
					apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
				
 
			
				- 
					
					
					 
					apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.module.ts
				
 
			
		
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					### Changed | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					- Refactored the register page to standalone | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					- Migrated the login with access token dialog from `ngModel` to form control | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					## 2.193.0 - 2025-08-22 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -6,6 +6,7 @@ import { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { FormControl, Validators } from '@angular/forms'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MatCheckboxChange } from '@angular/material/checkbox'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Router } from '@angular/router'; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -20,6 +21,10 @@ import { eyeOffOutline, eyeOutline } from 'ionicons/icons'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  standalone: false | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					export class LoginWithAccessTokenDialog { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public accessTokenFormControl = new FormControl( | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    this.data.accessToken, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    Validators.required | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  ); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public isAccessTokenHidden = true; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public constructor( | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -45,8 +50,10 @@ export class LoginWithAccessTokenDialog { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public onLoginWithAccessToken() { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (this.data.accessToken) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      this.dialogRef.close(this.data); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if (this.accessTokenFormControl.valid) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      this.dialogRef.close({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        accessToken: this.accessTokenFormControl.value | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -11,9 +11,8 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <mat-label i18n>Security Token</mat-label> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <input | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          matInput | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          name="password" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [formControl]="accessTokenFormControl" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [type]="isAccessTokenHidden ? 'password' : 'text'" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          [(ngModel)]="data.accessToken" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        <button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          mat-button | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -65,8 +64,10 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    <button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      color="primary" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      mat-flat-button | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      [disabled]="!data.accessToken" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      [mat-dialog-close]="data" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      [disabled]=" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        !(accessTokenFormControl.dirty && accessTokenFormControl.valid) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      " | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      (click)="onLoginWithAccessToken()" | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    > | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      <ng-container i18n>Sign in</ng-container> | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    </button> | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  | 
				
			
			
		
	
								
							
						
					 
					
				 
			 
		
			
			
			
			
			
			
				
				
					
						
							
								
									
	
		
			
				
					| 
						
						
						
					 | 
				
				 | 
				
					@ -1,7 +1,7 @@ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { TextFieldModule } from '@angular/cdk/text-field'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { CommonModule } from '@angular/common'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { FormsModule, ReactiveFormsModule } from '@angular/forms'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { ReactiveFormsModule } from '@angular/forms'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MatButtonModule } from '@angular/material/button'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MatCheckboxModule } from '@angular/material/checkbox'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { MatDialogModule } from '@angular/material/dialog'; | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -16,7 +16,6 @@ import { LoginWithAccessTokenDialog } from './login-with-access-token-dialog.com | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  declarations: [LoginWithAccessTokenDialog], | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  imports: [ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    CommonModule, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    FormsModule, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    GfDialogHeaderModule, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    IonIcon, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    MatButtonModule, | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |