Skip to content
Permalink
Browse files
update from home
  • Loading branch information
Chris Rollings committed Mar 21, 2019
1 parent 283e7ed commit ffecdcc4331b6532102090acacd5a41621b285ca
Show file tree
Hide file tree
Showing 179 changed files with 16,520 additions and 97 deletions.
@@ -1,5 +1,7 @@
import { Component, OnInit } from '@angular/core';
import { FormGroup, FormControl, Validators } from '@angular/forms';
import { CrewMember } from 'src/app/models/CrewMember';
import { AuthService } from 'src/app/auth/auth.service';

@Component({
selector: 'app-account',
@@ -8,10 +10,15 @@ import { FormGroup, FormControl, Validators } from '@angular/forms';
})
export class AccountComponent implements OnInit {

constructor() { }
constructor(private authservice:AuthService) { }
form: FormGroup;

crewMember:CrewMember;
ngOnInit() {
console.log("oninit")

this.crewMember = this.authservice.getUser();


this.form = new FormGroup({
Email: new FormControl(null, {
validators: [Validators.required, Validators.email]
@@ -0,0 +1,3 @@
<p>
admin-dashboard works!
</p>
@@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { AdminDashboardComponent } from './admin-dashboard.component';

describe('AdminDashboardComponent', () => {
let component: AdminDashboardComponent;
let fixture: ComponentFixture<AdminDashboardComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AdminDashboardComponent ]
})
.compileComponents();
}));

beforeEach(() => {
fixture = TestBed.createComponent(AdminDashboardComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-admin-dashboard',
templateUrl: './admin-dashboard.component.html',
styleUrls: ['./admin-dashboard.component.scss']
})
export class AdminDashboardComponent implements OnInit {

constructor() { }

ngOnInit() {
}

}
@@ -0,0 +1,29 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { AdminComponent } from './admin/admin.component';
import { ManageEventsComponent } from './manage-events/manage-events.component';
import { AdminDashboardComponent } from './admin-dashboard/admin-dashboard.component';
import { AuthGuard } from '../auth/auth.guard';

const adminRoutes: Routes = [
{
path: 'admin',
component: AdminComponent,
canActivate: [AuthGuard],
children: [
{
path: '',

children: [
{ path: 'events', component: ManageEventsComponent },
{ path: '', component: AdminDashboardComponent }
]
}
]
}
];
@NgModule({
imports: [RouterModule.forChild(adminRoutes)],
exports: [RouterModule]
})
export class AdminRoutingModule { }
@@ -0,0 +1,16 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { AdminRoutingModule } from './admin-routing.module';
import { AdminDashboardComponent } from './admin-dashboard/admin-dashboard.component';
import { AdminComponent } from './admin/admin.component';
import { ManageEventsComponent } from './manage-events/manage-events.component';

@NgModule({
declarations: [AdminDashboardComponent, AdminComponent, ManageEventsComponent],
imports: [
CommonModule,
AdminRoutingModule
]
})
export class AdminModule { }
@@ -0,0 +1,7 @@
<h3>ADMIN</h3>
<nav>
<a routerLink="./" routerLinkActive="active"
[routerLinkActiveOptions]="{ exact: true }">Dashboard</a>
<a routerLink="./events" routerLinkActive="active">Manage Events</a>
</nav>
<router-outlet></router-outlet>
@@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { AdminComponent } from './admin.component';

describe('AdminComponent', () => {
let component: AdminComponent;
let fixture: ComponentFixture<AdminComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ AdminComponent ]
})
.compileComponents();
}));

beforeEach(() => {
fixture = TestBed.createComponent(AdminComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-admin',
templateUrl: './admin.component.html',
styleUrls: ['./admin.component.scss']
})
export class AdminComponent implements OnInit {

constructor() { }

ngOnInit() {
}

}
@@ -0,0 +1,3 @@
<p>
manage-events works!
</p>
@@ -0,0 +1,25 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';

import { ManageEventsComponent } from './manage-events.component';

describe('ManageEventsComponent', () => {
let component: ManageEventsComponent;
let fixture: ComponentFixture<ManageEventsComponent>;

beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ManageEventsComponent ]
})
.compileComponents();
}));

beforeEach(() => {
fixture = TestBed.createComponent(ManageEventsComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
@@ -0,0 +1,15 @@
import { Component, OnInit } from '@angular/core';

@Component({
selector: 'app-manage-events',
templateUrl: './manage-events.component.html',
styleUrls: ['./manage-events.component.scss']
})
export class ManageEventsComponent implements OnInit {

constructor() { }

ngOnInit() {
}

}
@@ -0,0 +1,24 @@
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { HomeComponent } from './home/home.component';
import { LoginComponent } from './auth/login/login.component';
import { SignupComponent } from './auth/signup/signup.component';

import { RegisterComponent } from './register/register.component';
import { EventComponent } from './event/component/event.component';
import { AccountComponent } from './account/component/account.component';

const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'register', component: RegisterComponent },
{ path: 'event/:eventId', component: EventComponent },
{ path: 'login', component: LoginComponent },
{ path: 'signup', component: SignupComponent },
{ path: 'account', component: AccountComponent },

];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule {}
@@ -5,8 +5,8 @@ import { LoginComponent } from './auth/login/login.component';
import { SignupComponent } from './auth/signup/signup.component';
import { HomeComponent } from './home/home.component';
import { RegisterComponent } from './register/register.component';
import { BoatRacingMaterialModule } from './modules/material.module';
import { AppRoutingModule } from './modules/app-routing.module';
import { BoatRacingMaterialModule } from './material.module';
import { AppRoutingModule } from './app-routing.module';
import { EventComponent } from './event/component/event.component';
import { HeaderComponent } from './header/header.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@@ -19,6 +19,8 @@ import { HttpClientModule } from '@angular/common/http';
import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemoryDataService } from './in-memory-data.service';
import {environment} from '../environments/environment';
import { AdminModule } from './admin/admin.module';
import { AccountComponent } from './account/component/account.component';
@NgModule({
declarations: [
AppComponent,
@@ -27,7 +29,8 @@ import {environment} from '../environments/environment';
RegisterComponent,
EventComponent,
HeaderComponent,
SignupComponent
SignupComponent,
AccountComponent
],
imports: [
BrowserModule,
@@ -38,6 +41,7 @@ import {environment} from '../environments/environment';
AppRoutingModule,
BrowserAnimationsModule,
NgbModalModule,
AdminModule,
FlatpickrModule.forRoot(),
CalendarModule.forRoot({
provide: DateAdapter,
@@ -0,0 +1,15 @@
import { TestBed, async, inject } from '@angular/core/testing';

import { AuthGuard } from './auth.guard';

describe('AuthGuard', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [AuthGuard]
});
});

it('should ...', inject([AuthGuard], (guard: AuthGuard) => {
expect(guard).toBeTruthy();
}));
});
@@ -0,0 +1,33 @@
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
import { Observable } from 'rxjs';
import { AuthService } from './auth.service';

@Injectable({
providedIn: 'root'
})
export class AuthGuard implements CanActivate {
constructor(private authService:AuthService, private router:Router){
console.log("Auth guard")
}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
let url: string = state.url;
console.log("AuthGuardCanactivate : " + this.authService.isAuthenticated)

return this.checkLogin(url);
}

checkLogin(url: string): boolean {
console.log("AuthGuardCanactivate : " + this.authService.isAuthenticated)
if (this.authService.isAuthenticated) { return true; }

// Store the attempted URL for redirecting
this.authService.redirectUrl = url;

// Navigate to the login page with extras
this.router.navigate(['/login']);
return false;
}
}

0 comments on commit ffecdcc

Please sign in to comment.