Sign In Page Component
class SignInPageComponent
import { NgOptimizedImage } from '@angular/common';
import { Component, inject, OnDestroy, OnInit } from '@angular/core';
import {
FormBuilder,
FormControl,
FormGroup,
ReactiveFormsModule,
Validators,
} from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatCardModule } from '@angular/material/card';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatIconModule } from '@angular/material/icon';
import { MatInputModule } from '@angular/material/input';
import { MatTooltipModule } from '@angular/material/tooltip';
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
import { QueryParam } from '@jet/enums/query-param.enum';
import { AlertService } from '@jet/services/alert/alert.service';
import { LoggerService } from '@jet/services/logger/logger.service';
import { ProgressBarService } from '@jet/services/progress-bar/progress-bar.service';
import { UserService } from '@jet/services/user/user.service';
import { AvailableOauthProvider } from '@jet/types/available-oauth-provider.type';
import { TranslocoModule, TranslocoService } from '@jsverse/transloco';
import {
BindQueryParamsFactory,
BindQueryParamsManager,
} from '@ngneat/bind-query-params';
import { Session } from '@supabase/supabase-js';
import { PageComponent } from '../page/page.component';
@Component({
imports: [
NgOptimizedImage,
ReactiveFormsModule,
MatButtonModule,
MatCardModule,
MatFormFieldModule,
MatIconModule,
MatInputModule,
MatTooltipModule,
RouterLink,
TranslocoModule,
PageComponent,
],
selector: 'jet-sign-in-page',
styleUrl: './sign-in-page.component.scss',
templateUrl: './sign-in-page.component.html',
})
export class SignInPageComponent implements OnInit, OnDestroy {
private readonly _formBuilder = inject(FormBuilder);
private readonly _activatedRoute = inject(ActivatedRoute);
private readonly _router = inject(Router);
private readonly _alertService = inject(AlertService);
private readonly _loggerService = inject(LoggerService);
private readonly _progressBarService = inject(ProgressBarService);
private readonly _userService = inject(UserService);
private readonly _translocoService = inject(TranslocoService);
private readonly _bindQueryParamsFactory = inject(BindQueryParamsFactory);
private readonly _bindQueryParamsManager: BindQueryParamsManager<{
email: string;
}>;
public isGetSessionPending: boolean;
public isPasswordHidden: boolean;
public isSignInWithOauthPending: boolean;
public isSignInWithOtpPending: boolean;
public isSignInWithPasswordPending: boolean;
public readonly signInFormGroup: FormGroup<{
email: FormControl<string | null>;
password: FormControl<string | null>;
}>;
public constructor() {
// Buy to unlock
}
public ngOnInit(): void {
// Buy to unlock
}
public ngOnDestroy(): void {
// Buy to unlock
}
public async signInWithPassword(email: string, password: string) {
// Buy to unlock
}
public async signInWithOauth(oauthProvider: AvailableOauthProvider) {
// Buy to unlock
}
public async signInWithOtp(email: string) {
// Buy to unlock
}
private async _getSession(): Promise<Session | null> {
// Buy to unlock
}
}
Last updated
Was this helpful?