Skip to content

Commit f2a6afd

Browse files
committed
feat(project): Switch to modular Firebase sdk
1 parent b980522 commit f2a6afd

File tree

10 files changed

+135
-107
lines changed

10 files changed

+135
-107
lines changed

projects/ngx-auth-firebaseui/src/lib/components/ngx-auth-firebaseui-avatar/ngx-auth-firebaseui-avatar.component.ts

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
2-
import { AngularFireAuth } from "@angular/fire/compat/auth";
3-
import firebase from "firebase/compat/app";
42
import { Observable } from "rxjs";
53
import { take } from 'rxjs/operators';
64
import { MatDialog } from "@angular/material/dialog";
75
import { UserComponent } from "..";
86
import { AuthProcessService } from "../../services/auth-process.service";
7+
import { Auth, user, User } from "@angular/fire/auth";
98

109
export interface LinkMenuItem {
1110
text: string;
@@ -48,15 +47,15 @@ export class NgxAuthFirebaseuiAvatarComponent implements OnInit {
4847
@Output()
4948
onSignOut: EventEmitter<void> = new EventEmitter();
5049

51-
user: firebase.User;
52-
user$: Observable<firebase.User | null>;
50+
user: User;
51+
user$: Observable<User | null>;
5352
displayNameInitials: string | null;
5453

55-
constructor(public afa: AngularFireAuth, public dialog: MatDialog, private authProcess: AuthProcessService) {}
54+
constructor(public afa: Auth, public dialog: MatDialog, private authProcess: AuthProcessService) {}
5655

5756
ngOnInit() {
58-
this.user$ = this.afa.user;
59-
this.user$.subscribe((user: firebase.User) => {
57+
this.user$ = user(this.afa);
58+
this.user$.subscribe((user: User) => {
6059
this.user = user;
6160
this.displayNameInitials = user
6261
? this.getDisplayNameInitials(user.displayName)
@@ -68,7 +67,7 @@ export class NgxAuthFirebaseuiAvatarComponent implements OnInit {
6867
if (!displayName) {
6968
return null;
7069
}
71-
const initialsRegExp: RegExpMatchArray = displayName.match(/\b\w/g) || [];
70+
const initialsRegExp: RegExpMatchArray = (displayName.match(/\b\w/g) || []) as RegExpMatchArray;
7271
const initials = (
7372
(initialsRegExp.shift() || "") + (initialsRegExp.pop() || "")
7473
).toUpperCase();

projects/ngx-auth-firebaseui/src/lib/components/ngx-auth-firebaseui-user/user.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<div *ngIf="auth.authState| async; then authenticated else none">
1+
<div *ngIf="auth.currentUser !== null; then authenticated else none">
22

33
</div>
44

55
<ng-template #authenticated>
6-
<mat-card *ngIf="auth.user | async as user">
6+
<mat-card *ngIf="auth.currentUser as user">
77
<!--<form [formGroup]="updateFormGroup" >-->
88
<!--card header-->
99
<mat-card-header fxLayout="column" fxLayoutAlign="center center">

projects/ngx-auth-firebaseui/src/lib/components/ngx-auth-firebaseui-user/user.component.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@ import {
66
Input,
77
Output,
88
} from "@angular/core";
9-
import { AngularFireAuth } from "@angular/fire/compat/auth";
9+
import { Auth, updateEmail, updatePhoneNumber, updateProfile, User } from "@angular/fire/auth";
1010
import { UntypedFormControl, UntypedFormGroup, Validators } from "@angular/forms";
11-
import firebase from "firebase/compat/app";
1211
import { MatFormFieldAppearance } from "@angular/material/form-field";
1312
import { NgxAuthFirebaseUIConfigToken } from "../../tokens";
1413
import {EMAIL_REGEX, NgxAuthFirebaseUIConfig, PHONE_NUMBER_REGEX} from '../../interfaces';
@@ -72,7 +71,7 @@ export class UserComponent {
7271
updatePhoneNumberFormControl: UntypedFormControl;
7372

7473
constructor(
75-
public auth: AngularFireAuth,
74+
public auth: Auth,
7675
public authProcess: AuthProcessService,
7776
private fireStoreService: FirestoreSyncService,
7877
@Inject(forwardRef(() => NgxAuthFirebaseUIConfigToken))
@@ -109,19 +108,19 @@ export class UserComponent {
109108

110109
try {
111110
if (this.updateNameFormControl.dirty) {
112-
await user.updateProfile({
111+
await updateProfile(user, {
113112
displayName: this.updateNameFormControl.value,
114113
});
115114
snackBarMsg.push(`your name has been updated to ${user.displayName}`);
116115
}
117116

118117
if (this.updateEmailFormControl.dirty) {
119-
await user.updateEmail(this.updateEmailFormControl.value);
118+
await updateEmail(user, this.updateEmailFormControl.value);
120119
snackBarMsg.push(`your email has been updated to ${user.email}`);
121120
}
122121

123122
if (this.updatePhoneNumberFormControl.dirty) {
124-
await user.updatePhoneNumber(this.updatePhoneNumberFormControl.value);
123+
await updatePhoneNumber(user, this.updatePhoneNumberFormControl.value);
125124
console.log(
126125
"phone number = ",
127126
this.updatePhoneNumberFormControl.value
@@ -189,7 +188,7 @@ export class UserComponent {
189188
protected initUpdateFormGroup(): Observable<UntypedFormGroup> {
190189
return this.authProcess.user$.pipe(
191190
take(1),
192-
map((currentUser: firebase.User) => {
191+
map((currentUser: User) => {
193192
const updateFormGroup = new UntypedFormGroup({
194193
name: this.updateNameFormControl = new UntypedFormControl(
195194
{ value: currentUser.displayName, disabled: this.editMode },

projects/ngx-auth-firebaseui/src/lib/components/ngx-auth-firebaseui/auth.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { MatLegacyDialog as MatDialog, MatLegacyDialogRef as MatDialogRef } from
3232
import { MatLegacyFormFieldAppearance as MatFormFieldAppearance } from "@angular/material/legacy-form-field";
3333

3434
// ANGULAR FIRE
35-
import { AngularFireAuth } from "@angular/fire/compat/auth";
35+
import { Auth } from "@angular/fire/auth";
3636

3737
// Third PARTY
3838
import { MatPasswordStrengthComponent } from "@angular-material-extensions/password-strength";
@@ -191,7 +191,7 @@ export class AuthComponent
191191
@Inject(PLATFORM_ID) private platformId: Object,
192192
@Inject(forwardRef(() => NgxAuthFirebaseUIConfigToken))
193193
public config: NgxAuthFirebaseUIConfig,
194-
public auth: AngularFireAuth,
194+
public auth: Auth,
195195
public authProcess: AuthProcessService,
196196
public dialog: MatDialog,
197197
private activatedRoute: ActivatedRoute,

projects/ngx-auth-firebaseui/src/lib/guards/logged-in.guard.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import {Inject, Injectable} from '@angular/core';
2+
import {user} from '@angular/fire/auth';
23
import {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';
34
import {Observable} from 'rxjs';
45
import {map} from 'rxjs/operators';
56
import {NgxAuthFirebaseUIConfig} from '../interfaces';
6-
import {NgxAuthFirebaseUIConfigToken} from '../tokens';
77
import {AuthProcessService} from '../services/auth-process.service';
8+
import {NgxAuthFirebaseUIConfigToken} from '../tokens';
89

910
@Injectable({
1011
providedIn: 'root'
@@ -19,7 +20,7 @@ export class LoggedInGuard implements CanActivate {
1920
}
2021

2122
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
22-
return this.authProcess.afa.user.pipe(
23+
return user(this.authProcess.afa).pipe(
2324
map(user => {
2425
if (user) {
2526
if (this.config.guardProtectedRoutesUntilEmailIsVerified && !user.emailVerified && !user.isAnonymous) {

projects/ngx-auth-firebaseui/src/lib/ngx-auth-firebaseui.module.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import {FlexLayoutModule} from '@angular/flex-layout';
88
// @angular/fire
99
import {FIREBASE_APP_NAME, FIREBASE_OPTIONS} from '@angular/fire/compat';
1010
import {FirebaseOptions} from '@firebase/app-types';
11-
import {AngularFireAuthModule} from '@angular/fire/compat/auth';
12-
import {AngularFirestoreModule} from '@angular/fire/compat/firestore';
11+
import {getAuth, provideAuth} from '@angular/fire/auth';
12+
import {getFirestore, provideFirestore} from '@angular/fire/firestore';
1313
// @angular/material
1414
import {MatButtonModule} from '@angular/material/button';
1515
import {MatCardModule} from '@angular/material/card';
@@ -101,8 +101,8 @@ export {FirestoreSyncService} from './services/firestore-sync.service';
101101
// ANGULAR MATERIAL EXTENSIONS
102102
MatPasswordStrengthModule,
103103
// ANGULARFIRE2
104-
AngularFireAuthModule,
105-
AngularFirestoreModule,
104+
provideAuth(()=> getAuth()),
105+
provideFirestore(()=> getFirestore()),
106106
],
107107
exports: [
108108
AuthComponent,
@@ -111,8 +111,6 @@ export {FirestoreSyncService} from './services/firestore-sync.service';
111111
AuthProvidersComponent,
112112
EmailConfirmationComponent,
113113
// LoggedInGuard,
114-
AngularFireAuthModule,
115-
AngularFirestoreModule,
116114
NgxAuthFirebaseuiLoginComponent,
117115
NgxAuthFirebaseuiRegisterComponent
118116
],

0 commit comments

Comments
 (0)