@@ -4,6 +4,7 @@ import { WelcomeComponent } from './welcome/welcome.component'; | |||||
import { TabsComponent } from './tabs/tabs.component'; | import { TabsComponent } from './tabs/tabs.component'; | ||||
import { DetailsComponent } from './tabs/courses/details/details.component'; | import { DetailsComponent } from './tabs/courses/details/details.component'; | ||||
import { VideoChapterComponent } from './tabs/courses/video-chapter/video-chapter.component'; | import { VideoChapterComponent } from './tabs/courses/video-chapter/video-chapter.component'; | ||||
import { NotesDetailsComponent } from './tabs/courses/notes-details/notes-details.component'; | |||||
const routes: Routes = [ | const routes: Routes = [ | ||||
{ path: '', pathMatch: 'full', redirectTo: 'welcome' }, | { path: '', pathMatch: 'full', redirectTo: 'welcome' }, | ||||
@@ -12,7 +13,8 @@ const routes: Routes = [ | |||||
{ component: TabsComponent, path: 'tabs/:subpage' }, | { component: TabsComponent, path: 'tabs/:subpage' }, | ||||
{ component: DetailsComponent, path: 'course-details' }, | { component: DetailsComponent, path: 'course-details' }, | ||||
{ component: DetailsComponent, path: 'course-details/:heading' }, | { component: DetailsComponent, path: 'course-details/:heading' }, | ||||
{ component: VideoChapterComponent, path: 'video-chapter/:heading' } | |||||
{ component: VideoChapterComponent, path: 'video-chapter/:heading' }, | |||||
{ component: NotesDetailsComponent, path: 'notes-details/:heading' } | |||||
]; | ]; | ||||
@NgModule({ | @NgModule({ | ||||
@@ -13,6 +13,7 @@ import { ReportsComponent } from './tabs/reports/reports.component'; | |||||
import { MoreComponent } from './tabs/more/more.component'; | import { MoreComponent } from './tabs/more/more.component'; | ||||
import { DetailsComponent } from './tabs/courses/details/details.component'; | import { DetailsComponent } from './tabs/courses/details/details.component'; | ||||
import { VideoChapterComponent } from './tabs/courses/video-chapter/video-chapter.component'; | import { VideoChapterComponent } from './tabs/courses/video-chapter/video-chapter.component'; | ||||
import { NotesDetailsComponent } from './tabs/courses/notes-details/notes-details.component'; | |||||
@NgModule({ | @NgModule({ | ||||
declarations: [ | declarations: [ | ||||
@@ -25,6 +26,7 @@ import { VideoChapterComponent } from './tabs/courses/video-chapter/video-chapte | |||||
MoreComponent, | MoreComponent, | ||||
DetailsComponent, | DetailsComponent, | ||||
VideoChapterComponent, | VideoChapterComponent, | ||||
NotesDetailsComponent, | |||||
], | ], | ||||
imports: [ | imports: [ | ||||
BrowserModule, | BrowserModule, | ||||
@@ -0,0 +1,30 @@ | |||||
<div class="page"> | |||||
<header class="nav-header"> | |||||
<button class="close-button" (click)="back()"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon> | |||||
</button> | |||||
<h5> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/play-button.svg"></svg-icon> | |||||
<span> {{ heading }} </span> | |||||
</h5> | |||||
</header> | |||||
<h2> {{ heading }} </h2> | |||||
<div class="description"> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis quam sint recusandae ullam culpa enim, atque et? Doloremque sapiente odio, reprehenderit consectetur, suscipit repudiandae quis illum saepe itaque quisquam, maxime! | |||||
</p> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolores ipsum dolorem quis omnis fuga, dolor expedita reprehenderit nemo maxime sequi voluptatum enim non, sint, repudiandae soluta cupiditate impedit odit rerum. | |||||
</p> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa eos explicabo soluta voluptatibus fugit expedita omnis optio tempore at iure odio aliquid, quibusdam, voluptas aspernatur harum libero sequi nam quidem. | |||||
</p> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Veniam officiis iusto ipsa, adipisci porro ipsam. Repellendus itaque pariatur rem quia quisquam neque iure amet, deleniti, nesciunt veritatis, fugit ipsam magni. | |||||
</p> | |||||
</div> | |||||
<button class="next-button" [routerLink]="['/notes-details/Notes-3']"> GO TO NEXT NOTES </button> | |||||
</div> |
@@ -0,0 +1,89 @@ | |||||
.page { | |||||
background-color: var(--black); | |||||
height: 100vh; | |||||
padding-bottom: 60px; | |||||
overflow: auto; | |||||
} | |||||
.nav-header { | |||||
background-color: var(--ash-black); | |||||
display: flex; | |||||
align-items: center; | |||||
padding: 0 5%; | |||||
height: 60px; | |||||
position: sticky; | |||||
position: -webkit-sticky; | |||||
top: 0; | |||||
z-index: 1; | |||||
.close-button { | |||||
border: 0px; | |||||
background-color: transparent; | |||||
.icon { | |||||
width: 16px; | |||||
height: 16px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
h5 { | |||||
font-size: 16px; | |||||
color: white; | |||||
font-weight: 400; | |||||
margin-left: 20px; | |||||
letter-spacing: 1px; | |||||
.icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
fill: white; | |||||
margin-right: 3px; | |||||
vertical-align: middle; | |||||
position: relative; | |||||
top: -1px; | |||||
} | |||||
} | |||||
} | |||||
h2 { | |||||
padding: 0 5%; | |||||
font-size: 22px; | |||||
margin: 20px auto 10px; | |||||
color: white; | |||||
font-weight: 400; | |||||
} | |||||
.description { | |||||
width: 90%; | |||||
margin: 0 auto; | |||||
color: white; | |||||
p { | |||||
margin-bottom: 20px; | |||||
font-size: 14px; | |||||
line-height: 2; | |||||
} | |||||
} | |||||
.next-button { | |||||
position: fixed; | |||||
left: 0px; | |||||
bottom: 0px; | |||||
background-color: var(--ash-black); | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
width: 100%; | |||||
height: 50px; | |||||
border: 0px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
box-shadow: 0px 0px 5px var(--black); | |||||
.icon { | |||||
width: 20px; | |||||
height: 20px; | |||||
fill: var(--light-grey); | |||||
margin-right: 5px; | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |||||
import { NotesDetailsComponent } from './notes-details.component'; | |||||
describe('NotesDetailsComponent', () => { | |||||
let component: NotesDetailsComponent; | |||||
let fixture: ComponentFixture<NotesDetailsComponent>; | |||||
beforeEach(async(() => { | |||||
TestBed.configureTestingModule({ | |||||
declarations: [ NotesDetailsComponent ] | |||||
}) | |||||
.compileComponents(); | |||||
})); | |||||
beforeEach(() => { | |||||
fixture = TestBed.createComponent(NotesDetailsComponent); | |||||
component = fixture.componentInstance; | |||||
fixture.detectChanges(); | |||||
}); | |||||
it('should create', () => { | |||||
expect(component).toBeTruthy(); | |||||
}); | |||||
}); |
@@ -0,0 +1,34 @@ | |||||
import { Component, OnInit } from '@angular/core'; | |||||
import { ActivatedRoute } from '@angular/router'; | |||||
import { Subscription } from 'rxjs'; | |||||
import { Location } from '@angular/common'; | |||||
@Component({ | |||||
selector: 'app-notes-details', | |||||
templateUrl: './notes-details.component.html', | |||||
styleUrls: ['./notes-details.component.scss'] | |||||
}) | |||||
export class NotesDetailsComponent implements OnInit { | |||||
heading: string; | |||||
routeSubscription: Subscription; | |||||
constructor( | |||||
private route: ActivatedRoute, | |||||
private location: Location | |||||
) { } | |||||
ngOnInit(): void { | |||||
this.routeSubscription = this.route.params.subscribe((params) => { | |||||
this.heading = params['heading']; | |||||
}); | |||||
} | |||||
ngOnDestroy() { | |||||
this.routeSubscription.unsubscribe(); | |||||
} | |||||
back() { | |||||
this.location.back(); | |||||
} | |||||
} |
@@ -60,7 +60,7 @@ | |||||
</ul> | </ul> | ||||
<ul class="notes-list" *ngIf="selectedSegment === 'notes'"> | <ul class="notes-list" *ngIf="selectedSegment === 'notes'"> | ||||
<li> | |||||
<li [routerLink]="['/notes-details', 'Notes-1']"> | |||||
<div class="content"> | <div class="content"> | ||||
<label> Notes 1 </label> | <label> Notes 1 </label> | ||||
<p> | <p> | ||||
@@ -70,7 +70,7 @@ | |||||
<svg-icon [applyClass]="true" class="icon arrow" src="assets/custom-icons/down-arrow.svg"></svg-icon> | <svg-icon [applyClass]="true" class="icon arrow" src="assets/custom-icons/down-arrow.svg"></svg-icon> | ||||
</li> | </li> | ||||
<li> | |||||
<li [routerLink]="['/notes-details', 'Notes-2']"> | |||||
<div class="content"> | <div class="content"> | ||||
<label> Notes 2 </label> | <label> Notes 2 </label> | ||||
<p> | <p> | ||||
@@ -80,9 +80,9 @@ | |||||
<svg-icon [applyClass]="true" class="icon arrow" src="assets/custom-icons/down-arrow.svg"></svg-icon> | <svg-icon [applyClass]="true" class="icon arrow" src="assets/custom-icons/down-arrow.svg"></svg-icon> | ||||
</li> | </li> | ||||
<li> | |||||
<li [routerLink]="['/notes-details', 'Notes-3']"> | |||||
<div class="content"> | <div class="content"> | ||||
<label> Notes 2 </label> | |||||
<label> Notes 3 </label> | |||||
<p> | <p> | ||||
quidem minima dolor delectus optio, dicta. | quidem minima dolor delectus optio, dicta. | ||||
</p> | </p> | ||||