diff --git a/package-lock.json b/package-lock.json
index 6e8a15e5..e5894f48 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,12 +16,14 @@
"@angular/platform-browser": "^15.2.0",
"@angular/platform-browser-dynamic": "^15.2.0",
"@angular/router": "^15.2.0",
+ "angular-oauth2-oidc": "^15.0.1",
"jwt-decode": "^3.1.2",
"postcss-cli": "^10.1.0",
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.3",
"postcss-preset-env": "^9.2.0",
"postcss-scss": "^4.0.9",
+ "primeicons": "^6.0.1",
"primeng": "^15.4.1",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
@@ -4809,6 +4811,18 @@
"ajv": "^8.8.2"
}
},
+ "node_modules/angular-oauth2-oidc": {
+ "version": "15.0.1",
+ "resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-15.0.1.tgz",
+ "integrity": "sha512-5gpqO9QL+qFqMItYFHe8F6H5nOIEaowcNUc9iTDs3P1bfVYnoKoVAaijob53PuPTF4YwzdfwKWZi4Mq6P7GENQ==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "peerDependencies": {
+ "@angular/common": ">=14.0.0",
+ "@angular/core": ">=14.0.0"
+ }
+ },
"node_modules/ansi-colors": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
@@ -11292,6 +11306,11 @@
"node": ">= 0.8"
}
},
+ "node_modules/primeicons": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/primeicons/-/primeicons-6.0.1.tgz",
+ "integrity": "sha512-KDeO94CbWI4pKsPnYpA1FPjo79EsY9I+M8ywoPBSf9XMXoe/0crjbUK7jcQEDHuc0ZMRIZsxH3TYLv4TUtHmAA=="
+ },
"node_modules/primeng": {
"version": "15.4.1",
"resolved": "https://registry.npmjs.org/primeng/-/primeng-15.4.1.tgz",
diff --git a/package.json b/package.json
index 37ef0b0e..6db2f4d3 100644
--- a/package.json
+++ b/package.json
@@ -21,12 +21,14 @@
"@angular/platform-browser": "^15.2.0",
"@angular/platform-browser-dynamic": "^15.2.0",
"@angular/router": "^15.2.0",
+ "angular-oauth2-oidc": "^15.0.1",
"jwt-decode": "^3.1.2",
"postcss-cli": "^10.1.0",
"postcss-import": "^15.1.0",
"postcss-loader": "^7.3.3",
"postcss-preset-env": "^9.2.0",
"postcss-scss": "^4.0.9",
+ "primeicons": "^6.0.1",
"primeng": "^15.4.1",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 6382efb8..62cd2d16 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,3 +1,5 @@
+
+
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 0afeb240..5bcefb1a 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,9 +1,18 @@
-import { NgModule } from '@angular/core';
+// Import
import { BrowserModule } from '@angular/platform-browser';
-import { ReactiveFormsModule } from '@angular/forms';
+import { AppRoutingModule } from './app-routing.module';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
+import { ReactiveFormsModule } from '@angular/forms';
+import { ToastModule } from 'primeng/toast';
+import { ConfirmDialogModule } from 'primeng/confirmdialog';
+import { ConfirmationService } from 'primeng/api';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { OAuthModule, OAuthStorage } from 'angular-oauth2-oidc';
+import { InputTextModule } from 'primeng/inputtext';
+import { DropdownModule } from 'primeng/dropdown';
-import { AppRoutingModule } from './app-routing.module';
+// Declaration
+import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { LoginComponent } from './pages/login/login.component';
import { RegisterComponent } from './pages/register/register.component';
@@ -12,7 +21,6 @@ import { VideoViewerComponent } from './pages/video-viewer/video-viewer.componen
import { SafePipe } from './pipes/safe.pipe';
import { BackgroundComponent } from './components/background/background.component';
import { LoginSocialComponent } from './pages/login-social/login-social.component';
-
import { ActiveAccountComponent } from './pages/active-account/active-account.component';
import { HomePageComponent } from './pages/home-page/home-page.component';
import { ProfileComponent } from './pages/profile/profile.component';
@@ -27,6 +35,18 @@ import { ParticipateComponent } from './pages/participate/participate.component'
import { MessageService } from 'primeng/api';
@NgModule({
+ imports: [
+ BrowserModule,
+ AppRoutingModule,
+ HttpClientModule,
+ ReactiveFormsModule,
+ ToastModule,
+ ConfirmDialogModule,
+ BrowserAnimationsModule,
+ OAuthModule.forRoot(),
+ InputTextModule,
+ DropdownModule
+ ],
declarations: [
AppComponent,
LoginComponent,
@@ -46,23 +66,18 @@ import { MessageService } from 'primeng/api';
SuggestAgendaComponent,
ParticipateComponent,
],
- imports: [
- BrowserModule,
- AppRoutingModule,
- HttpClientModule,
- ReactiveFormsModule,
- HttpClientModule
- ],
providers: [
- AuthGuard,
+ { provide: 'authGuard', useClass: AuthGuard },
AuthService,
{
provide: HTTP_INTERCEPTORS,
useClass: UserTokenInterceptor,
multi: true,
},
- MessageService
+ { provide: OAuthStorage, useValue: localStorage },
+ MessageService,
+ ConfirmationService,
],
bootstrap: [AppComponent],
})
-export class AppModule { }
+export class AppModule {}
diff --git a/src/app/pages/active-account/active-account.component.html b/src/app/pages/active-account/active-account.component.html
index c9a6f320..95080acc 100644
--- a/src/app/pages/active-account/active-account.component.html
+++ b/src/app/pages/active-account/active-account.component.html
@@ -2,10 +2,10 @@