[frontend] Massive Refactoring: Move public pages to own module, move auth to own module
This commit is contained in:
parent
9091654cc0
commit
ab9e8faf19
|
@ -1,25 +1,22 @@
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
import { Routes, RouterModule } from '@angular/router';
|
import { Routes, RouterModule } from '@angular/router';
|
||||||
import { NotFoundComponent } from './shared/not-found/not-found.component';
|
import { NotFoundComponent } from './shared/not-found/not-found.component';
|
||||||
import { HomepageComponent } from './homepage/homepage.component';
|
|
||||||
import { LoginComponent } from './auth/login/login.component';
|
|
||||||
import { RegisterComponent } from './auth/register/register.component';
|
|
||||||
import { OrganizerspageComponent } from './organizerspage/organizerspage.component';
|
|
||||||
import { HoodspageComponent } from './hoodspage/hoodspage.component';
|
|
||||||
import { HoodpageComponent } from './hoodpage/hoodpage.component';
|
|
||||||
import { SharedModule } from './shared/shared.module';
|
import { SharedModule } from './shared/shared.module';
|
||||||
import { ConfirmComponent } from './auth/confirm/confirm.component';
|
|
||||||
import { EmailConfirmationComponent } from './platforms/email/email-confirmation/email-confirmation.component';
|
import { EmailConfirmationComponent } from './platforms/email/email-confirmation/email-confirmation.component';
|
||||||
import { EmailUnsubscribeComponent } from './platforms/email/email-unsubscribe/email-unsubscribe.component';
|
import { EmailUnsubscribeComponent } from './platforms/email/email-unsubscribe/email-unsubscribe.component';
|
||||||
|
|
||||||
const routes: Routes = [
|
const routes: Routes = [
|
||||||
{ path: '', component: HomepageComponent },
|
{
|
||||||
{ path: 'login', component: LoginComponent },
|
path: '',
|
||||||
{ path: 'register', component: RegisterComponent },
|
loadChildren: () =>
|
||||||
{ path: 'confirm', component: ConfirmComponent },
|
import('./public-pages/public-pages.module').then(
|
||||||
{ path: 'organizers', component: OrganizerspageComponent },
|
(m) => m.PublicPagesModule
|
||||||
{ path: 'hoods', component: HoodspageComponent },
|
),
|
||||||
{ path: 'hoods/:id', component: HoodpageComponent },
|
},
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
loadChildren: () => import('./auth/auth.module').then((m) => m.AuthModule),
|
||||||
|
},
|
||||||
{ path: 'hoods/:id/email-confirm', component: EmailConfirmationComponent },
|
{ path: 'hoods/:id/email-confirm', component: EmailConfirmationComponent },
|
||||||
{ path: 'hoods/:id/email-unsubscribe', component: EmailUnsubscribeComponent },
|
{ path: 'hoods/:id/email-unsubscribe', component: EmailUnsubscribeComponent },
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
<app-toolbar></app-toolbar>
|
<app-toolbar></app-toolbar>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<router-outlet></router-outlet>
|
<router-outlet></router-outlet>
|
||||||
</div>
|
</div>
|
||||||
<app-footer></app-footer>
|
|
|
@ -1,56 +1,29 @@
|
||||||
import { BrowserModule } from '@angular/platform-browser';
|
|
||||||
import { NgModule } from '@angular/core';
|
import { NgModule } from '@angular/core';
|
||||||
|
|
||||||
import { AppRoutingModule } from './app-routing.module';
|
import { AppRoutingModule } from './app-routing.module';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { SharedModule } from './shared/shared.module';
|
import { SharedModule } from './shared/shared.module';
|
||||||
import { HomepageComponent } from './homepage/homepage.component';
|
|
||||||
import { OrganizerspageComponent } from './organizerspage/organizerspage.component';
|
|
||||||
import { DashboardModule } from './dashboard/dashboard.module';
|
import { DashboardModule } from './dashboard/dashboard.module';
|
||||||
import { HoodpageComponent } from './hoodpage/hoodpage.component';
|
|
||||||
import { HoodspageComponent } from './hoodspage/hoodspage.component';
|
|
||||||
import { ApiModule } from './core/api/api.module';
|
import { ApiModule } from './core/api/api.module';
|
||||||
import {
|
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||||
HttpClientModule,
|
|
||||||
HTTP_INTERCEPTORS,
|
|
||||||
HttpClient,
|
|
||||||
} from '@angular/common/http';
|
|
||||||
import { BASE_PATH } from './core/api/variables';
|
import { BASE_PATH } from './core/api/variables';
|
||||||
import { environment } from 'src/environments/environment';
|
import { environment } from 'src/environments/environment';
|
||||||
import { LoginComponent } from './auth/login/login.component';
|
|
||||||
import { RegisterComponent } from './auth/register/register.component';
|
|
||||||
import { ReactiveFormsModule } from '@angular/forms';
|
|
||||||
import { AuthTokenInterceptor } from './core/auth/auth-token.interceptor';
|
import { AuthTokenInterceptor } from './core/auth/auth-token.interceptor';
|
||||||
import { ConfirmComponent } from './auth/confirm/confirm.component';
|
|
||||||
import { ErrorInterceptor } from './core/auth/error.interceptor';
|
import { ErrorInterceptor } from './core/auth/error.interceptor';
|
||||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||||
import { MarkdownModule } from 'ngx-markdown';
|
import { PublicPagesModule } from './public-pages/public-pages.module';
|
||||||
import { PlatformsModule } from './platforms/platforms.module';
|
import { AuthModule } from './auth/auth.module';
|
||||||
import { FaqComponent } from './homepage/faq/faq.component';
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [
|
declarations: [AppComponent],
|
||||||
AppComponent,
|
|
||||||
HomepageComponent,
|
|
||||||
OrganizerspageComponent,
|
|
||||||
HoodpageComponent,
|
|
||||||
HoodspageComponent,
|
|
||||||
LoginComponent,
|
|
||||||
RegisterComponent,
|
|
||||||
ConfirmComponent,
|
|
||||||
FaqComponent,
|
|
||||||
],
|
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
SharedModule,
|
SharedModule,
|
||||||
DashboardModule,
|
DashboardModule,
|
||||||
|
PublicPagesModule,
|
||||||
|
AuthModule,
|
||||||
ApiModule,
|
ApiModule,
|
||||||
HttpClientModule,
|
HttpClientModule,
|
||||||
ReactiveFormsModule,
|
|
||||||
BrowserAnimationsModule,
|
BrowserAnimationsModule,
|
||||||
PlatformsModule,
|
|
||||||
MarkdownModule.forRoot({ loader: HttpClient }),
|
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
{ provide: BASE_PATH, useValue: environment.API_BASE_PATH },
|
{ provide: BASE_PATH, useValue: environment.API_BASE_PATH },
|
||||||
|
|
22
kibicara-frontend/src/app/auth/auth-routing.module.ts
Normal file
22
kibicara-frontend/src/app/auth/auth-routing.module.ts
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { Routes, RouterModule } from '@angular/router';
|
||||||
|
import { LoginComponent } from './login/login.component';
|
||||||
|
import { RegisterComponent } from './register/register.component';
|
||||||
|
import { ConfirmComponent } from './confirm/confirm.component';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
children: [
|
||||||
|
{ path: 'login', component: LoginComponent },
|
||||||
|
{ path: 'register', component: RegisterComponent },
|
||||||
|
{ path: 'confirm', component: ConfirmComponent },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule],
|
||||||
|
})
|
||||||
|
export class AuthRoutingModule {}
|
12
kibicara-frontend/src/app/auth/auth.module.ts
Normal file
12
kibicara-frontend/src/app/auth/auth.module.ts
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { AuthRoutingModule } from './auth-routing.module';
|
||||||
|
import { ConfirmComponent } from './confirm/confirm.component';
|
||||||
|
import { RegisterComponent } from './register/register.component';
|
||||||
|
import { LoginComponent } from './login/login.component';
|
||||||
|
import { SharedModule } from '../shared/shared.module';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [ConfirmComponent, LoginComponent, RegisterComponent],
|
||||||
|
imports: [AuthRoutingModule, SharedModule],
|
||||||
|
})
|
||||||
|
export class AuthModule {}
|
|
@ -34,7 +34,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.banner {
|
.banner {
|
||||||
background: url("../../assets/hoods3.jpg");
|
background: url("../../../assets/hoods3.jpg");
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -72,7 +72,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.banner2 {
|
.banner2 {
|
||||||
background: url("../../assets/hoods3.jpg");
|
background: url("../../../assets/hoods3.jpg");
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
|
@ -1,6 +1,6 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { ActivatedRoute, Router } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { HoodsService, BodyHood } from '../core/api';
|
import { HoodsService, BodyHood } from '../../core/api';
|
||||||
import { first } from 'rxjs/operators';
|
import { first } from 'rxjs/operators';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
|
@ -28,7 +28,7 @@ h1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
.banner {
|
.banner {
|
||||||
background: url("../../assets/hoods1.jpg");
|
background: url("../../../assets/hoods1.jpg");
|
||||||
background-size: 100%;
|
background-size: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit } from '@angular/core';
|
||||||
import { HoodsService } from '../core/api/api/hoods.service';
|
import { HoodsService } from '../../core/api/api/hoods.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-hoodspage',
|
selector: 'app-hoodspage',
|
|
@ -0,0 +1,27 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { RouterModule, Routes } from '@angular/router';
|
||||||
|
import { HomepageComponent } from './homepage/homepage.component';
|
||||||
|
import { PublicPagesComponent } from './public-pages.component';
|
||||||
|
import { OrganizerspageComponent } from './organizerspage/organizerspage.component';
|
||||||
|
import { HoodspageComponent } from './hoodspage/hoodspage.component';
|
||||||
|
import { HoodpageComponent } from './hoodpage/hoodpage.component';
|
||||||
|
|
||||||
|
const routes: Routes = [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
component: PublicPagesComponent,
|
||||||
|
children: [
|
||||||
|
{ path: '', component: HomepageComponent },
|
||||||
|
{ path: 'organizers', component: OrganizerspageComponent },
|
||||||
|
{ path: 'hoods', component: HoodspageComponent },
|
||||||
|
{ path: 'hoods/:id', component: HoodpageComponent },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [],
|
||||||
|
imports: [RouterModule.forChild(routes)],
|
||||||
|
exports: [RouterModule],
|
||||||
|
})
|
||||||
|
export class PublicPagesRoutingModule {}
|
|
@ -0,0 +1,2 @@
|
||||||
|
<router-outlet></router-outlet>
|
||||||
|
<app-footer></app-footer>
|
|
@ -0,0 +1,25 @@
|
||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { PublicPagesComponent } from './public-pages.component';
|
||||||
|
|
||||||
|
describe('PublicPagesComponent', () => {
|
||||||
|
let component: PublicPagesComponent;
|
||||||
|
let fixture: ComponentFixture<PublicPagesComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ PublicPagesComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(PublicPagesComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
|
@ -0,0 +1,15 @@
|
||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-public-pages',
|
||||||
|
templateUrl: './public-pages.component.html',
|
||||||
|
styleUrls: ['./public-pages.component.scss']
|
||||||
|
})
|
||||||
|
export class PublicPagesComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
import { NgModule } from '@angular/core';
|
||||||
|
import { CommonModule } from '@angular/common';
|
||||||
|
import { HomepageComponent } from './homepage/homepage.component';
|
||||||
|
import { HoodspageComponent } from './hoodspage/hoodspage.component';
|
||||||
|
import { HoodpageComponent } from './hoodpage/hoodpage.component';
|
||||||
|
import { OrganizerspageComponent } from './organizerspage/organizerspage.component';
|
||||||
|
import { FaqComponent } from './homepage/faq/faq.component';
|
||||||
|
import { SharedModule } from '../shared/shared.module';
|
||||||
|
import { PlatformsModule } from '../platforms/platforms.module';
|
||||||
|
import { MarkdownModule } from 'ngx-markdown';
|
||||||
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
import { PublicPagesComponent } from './public-pages.component';
|
||||||
|
import { PublicPagesRoutingModule } from './public-pages-routing.module';
|
||||||
|
|
||||||
|
@NgModule({
|
||||||
|
declarations: [
|
||||||
|
HomepageComponent,
|
||||||
|
HoodspageComponent,
|
||||||
|
HoodpageComponent,
|
||||||
|
OrganizerspageComponent,
|
||||||
|
FaqComponent,
|
||||||
|
PublicPagesComponent,
|
||||||
|
],
|
||||||
|
imports: [
|
||||||
|
SharedModule,
|
||||||
|
PlatformsModule,
|
||||||
|
MarkdownModule.forRoot({ loader: HttpClient }),
|
||||||
|
PublicPagesRoutingModule,
|
||||||
|
],
|
||||||
|
exports: [
|
||||||
|
HomepageComponent,
|
||||||
|
HoodspageComponent,
|
||||||
|
HoodpageComponent,
|
||||||
|
OrganizerspageComponent,
|
||||||
|
],
|
||||||
|
})
|
||||||
|
export class PublicPagesModule {}
|
|
@ -38,6 +38,7 @@ import { FooterComponent } from './footer/footer.component';
|
||||||
FormsModule,
|
FormsModule,
|
||||||
CommonModule,
|
CommonModule,
|
||||||
Ng2SearchPipeModule,
|
Ng2SearchPipeModule,
|
||||||
|
RouterModule,
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
export class SharedModule {}
|
export class SharedModule {}
|
||||||
|
|
Loading…
Reference in a new issue