Add user module routing, integrate markdown support, and enhance dialog functionality

This commit is contained in:
liosha84
2025-07-05 14:26:02 +03:00
parent 25e54d5050
commit fa27aca298
44 changed files with 2616 additions and 135 deletions
@@ -1,4 +1,4 @@
import {ChangeDetectionStrategy, Component, Inject, inject, signal} from '@angular/core';
import {ChangeDetectionStrategy, Component, EventEmitter, Inject, inject, Output, signal} from '@angular/core';
import {MatButtonModule} from "@angular/material/button";
import {
MAT_DIALOG_DATA,
@@ -14,7 +14,8 @@ import {MatFormField, MatLabel, MatSuffix} from "@angular/material/form-field";
import {MatInput} from "@angular/material/input";
import {FormsModule} from "@angular/forms";
import {MatIcon} from "@angular/material/icon";
import {DialogData} from '../../main-module/main.component/main.component';
import {DialogLoginData} from '../../main-module/main.component/main.component';
import {MatSnackBar} from '@angular/material/snack-bar';
@@ -22,16 +23,32 @@ import {DialogData} from '../../main-module/main.component/main.component';
@Component({
selector: 'app-dialog',
imports: [MatButtonModule, MatLabel, MatDialogActions, MatDialogClose, MatDialogTitle, MatDialogContent, MatFormField, MatInput, FormsModule, MatIcon, MatSuffix],
changeDetection: ChangeDetectionStrategy.OnPush,
templateUrl: './dialog.component.html',
styleUrl: './dialog.component.scss'
styleUrl: './dialog.component.scss',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class DialogComponent {
readonly dialogRef = inject(MatDialogRef<DialogComponent>);
hide = signal(true);
@Output() loginClicked = new EventEmitter<any>();
@Output() signupClicked = new EventEmitter<any>();
private _snackBar = inject(MatSnackBar);
durationInSeconds = 5;
constructor(
@Inject(MAT_DIALOG_DATA) public data:DialogData) {}
@Inject(MAT_DIALOG_DATA) public data:DialogLoginData) {
}
openLoginFailedSnackBar(errorMessage : string = "Login failed.") {
this._snackBar.open(errorMessage , "", {
duration: this.durationInSeconds * 1000,
});
}
onNoClick() {
this.dialogRef.close();
@@ -42,6 +59,15 @@ export class DialogComponent {
this.hide.set(!this.hide());
event.stopPropagation();
}
login() {
this.loginClicked.emit(this.data);
}
signup() {
this.signupClicked.emit();
}
}