Browse Source

Merge branch 'main' into main

pull/5393/head
Bernardo Jordão 2 months ago
committed by GitHub
parent
commit
3732f4f2f1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 11
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.component.ts
  3. 9
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html
  4. 3
      apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.module.ts

1
CHANGELOG.md

@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed ### Changed
- Refactored the register page to standalone - Refactored the register page to standalone
- Migrated the login with access token dialog from `ngModel` to form control
## 2.193.0 - 2025-08-22 ## 2.193.0 - 2025-08-22

11
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.component.ts

@ -6,6 +6,7 @@ import {
import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service'; import { TokenStorageService } from '@ghostfolio/client/services/token-storage.service';
import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { ChangeDetectionStrategy, Component, Inject } from '@angular/core';
import { FormControl, Validators } from '@angular/forms';
import { MatCheckboxChange } from '@angular/material/checkbox'; import { MatCheckboxChange } from '@angular/material/checkbox';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
@ -20,6 +21,10 @@ import { eyeOffOutline, eyeOutline } from 'ionicons/icons';
standalone: false standalone: false
}) })
export class LoginWithAccessTokenDialog { export class LoginWithAccessTokenDialog {
public accessTokenFormControl = new FormControl(
this.data.accessToken,
Validators.required
);
public isAccessTokenHidden = true; public isAccessTokenHidden = true;
public constructor( public constructor(
@ -45,8 +50,10 @@ export class LoginWithAccessTokenDialog {
} }
public onLoginWithAccessToken() { public onLoginWithAccessToken() {
if (this.data.accessToken) { if (this.accessTokenFormControl.valid) {
this.dialogRef.close(this.data); this.dialogRef.close({
accessToken: this.accessTokenFormControl.value
});
} }
} }

9
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.html

@ -11,9 +11,8 @@
<mat-label i18n>Security Token</mat-label> <mat-label i18n>Security Token</mat-label>
<input <input
matInput matInput
name="password" [formControl]="accessTokenFormControl"
[type]="isAccessTokenHidden ? 'password' : 'text'" [type]="isAccessTokenHidden ? 'password' : 'text'"
[(ngModel)]="data.accessToken"
/> />
<button <button
mat-button mat-button
@ -65,8 +64,10 @@
<button <button
color="primary" color="primary"
mat-flat-button mat-flat-button
[disabled]="!data.accessToken" [disabled]="
[mat-dialog-close]="data" !(accessTokenFormControl.dirty && accessTokenFormControl.valid)
"
(click)="onLoginWithAccessToken()"
> >
<ng-container i18n>Sign in</ng-container> <ng-container i18n>Sign in</ng-container>
</button> </button>

3
apps/client/src/app/components/login-with-access-token-dialog/login-with-access-token-dialog.module.ts

@ -1,7 +1,7 @@
import { TextFieldModule } from '@angular/cdk/text-field'; import { TextFieldModule } from '@angular/cdk/text-field';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; 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 { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox'; import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDialogModule } from '@angular/material/dialog'; import { MatDialogModule } from '@angular/material/dialog';
@ -16,7 +16,6 @@ import { LoginWithAccessTokenDialog } from './login-with-access-token-dialog.com
declarations: [LoginWithAccessTokenDialog], declarations: [LoginWithAccessTokenDialog],
imports: [ imports: [
CommonModule, CommonModule,
FormsModule,
GfDialogHeaderModule, GfDialogHeaderModule,
IonIcon, IonIcon,
MatButtonModule, MatButtonModule,

Loading…
Cancel
Save