@@ -20,6 +20,7 @@ import { ServiceWorkerModule } from '@angular/service-worker'; | |||||
import { environment } from '../environments/environment'; | import { environment } from '../environments/environment'; | ||||
import { CalendarComponent } from './calendar/calendar.component'; | import { CalendarComponent } from './calendar/calendar.component'; | ||||
import { AttendanceComponent } from './tabs/more/attendance/attendance.component'; | import { AttendanceComponent } from './tabs/more/attendance/attendance.component'; | ||||
import { ForumComponent } from './reusable-components/forum/forum.component'; | |||||
@NgModule({ | @NgModule({ | ||||
declarations: [ | declarations: [ | ||||
@@ -35,6 +36,7 @@ import { AttendanceComponent } from './tabs/more/attendance/attendance.component | |||||
NotesDetailsComponent, | NotesDetailsComponent, | ||||
CalendarComponent, | CalendarComponent, | ||||
AttendanceComponent, | AttendanceComponent, | ||||
ForumComponent, | |||||
], | ], | ||||
imports: [ | imports: [ | ||||
BrowserModule, | BrowserModule, | ||||
@@ -0,0 +1,195 @@ | |||||
<section class="forum-details"> | |||||
<section class="add-post"> | |||||
<textarea placeholder="Start a discussion"></textarea> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/hashtag.svg"></svg-icon> | |||||
<input type="text" placeholder="Hashtag"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/add-person.svg"></svg-icon> | |||||
<input type="text" placeholder="Tag person"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/link.svg"></svg-icon> | |||||
<input type="text" placeholder="URL"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/document.svg"></svg-icon> | |||||
<input type="file"> | |||||
</div> | |||||
<button class="add-post-button"> Add Post </button> | |||||
</section> | |||||
<ul class="forum-post-list"> | |||||
<li class="post" [ngClass]="{'active': selectedPost === 1 }"> | |||||
<button class="book-mark-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/bookmark.svg"></svg-icon> | |||||
</button> | |||||
<div (click)="selectedPost = 1"> | |||||
<h5> | |||||
Can anyone explain dark matter radiation theory in a most simplest | |||||
way possible? | |||||
</h5> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente earum at alias aliquam voluptates, cupiditate nobis. Beatae iure mollitia sunt similique omnis blanditiis rerum impedit. Soluta unde amet officia molestiae! | |||||
</p> | |||||
</div> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button" (click)="showMorePostOptions = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
<ul class="comment-list"> | |||||
<button class="add-comment-button" (click)="showAddCommentToPost = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
ADD A COMMENT | |||||
</button> | |||||
<li class="comment"> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla, iusto, quaerat. Facilis commodi, pariatur eum. Nam ullam neque delectus, ducimus! Odit, qui ad vitae. Rerum vero quisquam laboriosam, accusantium optio! | |||||
</p> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/reply.svg"></svg-icon> | |||||
<span> Reply </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
</li> | |||||
<li class="comment"> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla, iusto, quaerat. Facilis commodi, pariatur eum. Nam ullam neque delectus, ducimus! Odit, qui ad vitae. Rerum vero quisquam laboriosam, accusantium optio! | |||||
</p> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/reply.svg"></svg-icon> | |||||
<span> Reply </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<li class="post" [ngClass]="{'active': selectedPost === 2 }"> | |||||
<button class="book-mark-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/bookmark.svg"></svg-icon> | |||||
</button> | |||||
<div (click)="selectedPost = 2"> | |||||
<h5> | |||||
Can anyone explain dark matter radiation theory in a most simplest | |||||
way possible? | |||||
</h5> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente earum at alias aliquam voluptates, cupiditate nobis. Beatae iure mollitia sunt similique omnis blanditiis rerum impedit. Soluta unde amet officia molestiae! | |||||
</p> | |||||
</div> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button" (click)="showMorePostOptions = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
<ul class="comment-list"> | |||||
<button class="add-comment-button" (click)="showAddCommentToPost = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
ADD A COMMENT | |||||
</button> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<section class="more-options-slideup" [ngClass]="{'active' : showMorePostOptions }"> | |||||
<header> | |||||
<h4> More Options </h4> | |||||
<button class="close-button" (click)="showMorePostOptions = false"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon> | |||||
</button> | |||||
</header> | |||||
<ul> | |||||
<li> | |||||
Downvote Answer | |||||
</li> | |||||
<li> | |||||
Downvote Question | |||||
</li> | |||||
<li> | |||||
Report | |||||
</li> | |||||
</ul> | |||||
</section> | |||||
<section class="more-options-slideup" [ngClass]="{'active' : showAddCommentToPost }"> | |||||
<header> | |||||
<h4> Add Comment </h4> | |||||
<button class="close-button" (click)="showAddCommentToPost = false"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon> | |||||
</button> | |||||
</header> | |||||
<textarea placeholder="Type your comment..."></textarea> | |||||
<button class="post-comment-button"> Submit </button> | |||||
</section> | |||||
</section> |
@@ -0,0 +1,321 @@ | |||||
.forum-details { | |||||
.add-post { | |||||
width: 90%; | |||||
margin: 10px auto; | |||||
textarea { | |||||
border: 0px; | |||||
height: 70px; | |||||
display: block; | |||||
width: 100%; | |||||
font-size: 16px; | |||||
color: var(--light-grey); | |||||
padding: 10px; | |||||
background-color: transparent; | |||||
border-bottom: 2px solid var(--dark-grey); | |||||
resize: none; | |||||
margin-bottom: 20px; | |||||
} | |||||
} | |||||
.input-holder { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
justify-content: flex-start; | |||||
margin-bottom: 10px; | |||||
background-color: var(--ash-black); | |||||
border-radius: 5px; | |||||
padding: 10px; | |||||
height: 50px; | |||||
.icon { | |||||
width: 20px; | |||||
height: 20px; | |||||
fill: var(--light-grey); | |||||
} | |||||
input { | |||||
font-size: 14px; | |||||
border: 0px; | |||||
background-color: transparent; | |||||
padding: 0 10px; | |||||
color: var(--light-grey); | |||||
display: block; | |||||
flex-grow: 1; | |||||
&[type="file"] { | |||||
height: auto; | |||||
} | |||||
} | |||||
} | |||||
.add-post-button { | |||||
margin-top: 20px; | |||||
display: block; | |||||
width: 100px; | |||||
margin-left: auto; | |||||
height: 40px; | |||||
font-size: 14px; | |||||
background-color: var(--teal-green); | |||||
color: white; | |||||
border: 0px; | |||||
border-radius: 7px; | |||||
} | |||||
.more-options-slideup { | |||||
position: fixed; | |||||
width: 100%; | |||||
background-color: var(--ash-black); | |||||
left: 0; | |||||
bottom: 0; | |||||
z-index: 1; | |||||
transform: translateY(100vh); | |||||
transition: box-shadow 0.5s, transform 0.5s; | |||||
&.active { | |||||
box-shadow: 0 0 100vw 100vh rgba(black, 0.8); | |||||
transform: translateY(0); | |||||
} | |||||
header { | |||||
background-color: var(--ash-black); | |||||
filter: brightness(85%); | |||||
display: flex; | |||||
align-items: center; | |||||
height: 45px; | |||||
padding: 0 5%; | |||||
position: relative; | |||||
} | |||||
.close-button { | |||||
border: 0px; | |||||
background-color: transparent; | |||||
margin-left: auto; | |||||
.icon { | |||||
width: 13px; | |||||
height: 13px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
h4 { | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
font-weight: 400; | |||||
} | |||||
textarea { | |||||
display: block; | |||||
height: 150px; | |||||
resize: none; | |||||
background-color: var(--black); | |||||
font-size: 14px; | |||||
color: var(--light-grey); | |||||
padding: 15px; | |||||
border-radius: 7px; | |||||
width: 90%; | |||||
margin: 20px auto; | |||||
border: 0px; | |||||
} | |||||
.post-comment-button { | |||||
width: 90%; | |||||
margin: 20px auto; | |||||
height: 40px; | |||||
background-color: var(--dark-grey); | |||||
box-shadow: 1px 1px 5px var(--black); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
border: 0px; | |||||
} | |||||
ul { | |||||
position: relative; | |||||
list-style: none; | |||||
padding: 0 5%; | |||||
li { | |||||
text-align: center; | |||||
color: white; | |||||
margin: 20px auto; | |||||
font-size: 14px; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.forum-post-list { | |||||
list-style: none; | |||||
width: 100%; | |||||
margin: 20px auto 0; | |||||
overflow: hidden; | |||||
.post { | |||||
background-color: var(--ash-black); | |||||
padding: 20px 5%; | |||||
border-bottom: 1px solid var(--dark-grey); | |||||
position: relative; | |||||
&.active { | |||||
p { | |||||
display: block; | |||||
max-height: none; | |||||
} | |||||
.comment-list { | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
.book-mark-button { | |||||
position: absolute; | |||||
right: 10px; | |||||
top: 0; | |||||
border: 0px; | |||||
background-color: transparent; | |||||
.icon { | |||||
width: 20px; | |||||
height: 20px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
h5 { | |||||
font-size: 16px; | |||||
color: white; | |||||
font-weight: 400; | |||||
margin: 0px auto 15px; | |||||
} | |||||
p { | |||||
font-size: 14px; | |||||
color: var(--light-grey); | |||||
display: -webkit-box; | |||||
-webkit-line-clamp: 2; | |||||
-webkit-box-orient: vertical; | |||||
overflow: hidden; | |||||
max-height: 50px; | |||||
margin: 15px auto; | |||||
line-height: 1.7; | |||||
} | |||||
.author { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
margin: 15px auto; | |||||
img { | |||||
width: 20px; | |||||
height: 20px; | |||||
border-radius: 50%; | |||||
margin-right: 7px; | |||||
} | |||||
label { | |||||
font-size: 12px; | |||||
color: white; | |||||
} | |||||
.time-stamp { | |||||
margin-left: 20px; | |||||
color: var(--light-grey); | |||||
font-size: 12px; | |||||
&::before { | |||||
content: ''; | |||||
width: 5px; | |||||
height: 5px; | |||||
background-color: var(--light-grey); | |||||
border-radius: 50%; | |||||
display: inline-block; | |||||
margin-right: 7px; | |||||
vertical-align: middle; | |||||
} | |||||
} | |||||
} | |||||
.action-buttons { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
button { | |||||
background-color: transparent; | |||||
color: var(--light-grey); | |||||
border: 0px; | |||||
padding: 0 10px; | |||||
.icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
margin-right: 2px; | |||||
fill: var(--light-grey); | |||||
} | |||||
span { | |||||
vertical-align: top; | |||||
font-size: 12px; | |||||
} | |||||
&.more-button { | |||||
margin-left: auto; | |||||
border: 1px solid var(--light-grey); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
.icon { | |||||
margin-right: 0; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.comment-list { | |||||
list-style: none; | |||||
margin: 20px auto; | |||||
width: 95%; | |||||
display: none; | |||||
.add-comment-button { | |||||
width: 100%; | |||||
margin: 40px auto; | |||||
height: 40px; | |||||
background-color: var(--dark-grey); | |||||
box-shadow: 1px 1px 5px var(--black); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
border: 0px; | |||||
.icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
margin-right: 5px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
.comment { | |||||
margin-bottom: 40px; | |||||
p { | |||||
display: block; | |||||
max-height: none; | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -0,0 +1,25 @@ | |||||
import { async, ComponentFixture, TestBed } from '@angular/core/testing'; | |||||
import { ForumComponent } from './forum.component'; | |||||
describe('ForumComponent', () => { | |||||
let component: ForumComponent; | |||||
let fixture: ComponentFixture<ForumComponent>; | |||||
beforeEach(async(() => { | |||||
TestBed.configureTestingModule({ | |||||
declarations: [ ForumComponent ] | |||||
}) | |||||
.compileComponents(); | |||||
})); | |||||
beforeEach(() => { | |||||
fixture = TestBed.createComponent(ForumComponent); | |||||
component = fixture.componentInstance; | |||||
fixture.detectChanges(); | |||||
}); | |||||
it('should create', () => { | |||||
expect(component).toBeTruthy(); | |||||
}); | |||||
}); |
@@ -0,0 +1,18 @@ | |||||
import { Component, OnInit } from '@angular/core'; | |||||
@Component({ | |||||
selector: 'app-forum', | |||||
templateUrl: './forum.component.html', | |||||
styleUrls: ['./forum.component.scss'] | |||||
}) | |||||
export class ForumComponent implements OnInit { | |||||
showMorePostOptions: boolean = false; | |||||
selectedPost: number; | |||||
showAddCommentToPost: boolean = false; | |||||
constructor() { } | |||||
ngOnInit(): void { | |||||
} | |||||
} |
@@ -185,200 +185,8 @@ | |||||
</ul> | </ul> | ||||
<section class="forum-details" *ngIf="selectedSegment === 'forum'"> | |||||
<section class="add-post"> | |||||
<textarea placeholder="Start a discussion"></textarea> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/hashtag.svg"></svg-icon> | |||||
<input type="text" placeholder="Hashtag"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/add-person.svg"></svg-icon> | |||||
<input type="text" placeholder="Tag person"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/link.svg"></svg-icon> | |||||
<input type="text" placeholder="URL"> | |||||
</div> | |||||
<div class="input-holder"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/document.svg"></svg-icon> | |||||
<input type="file"> | |||||
</div> | |||||
<button class="add-post-button"> Add Post </button> | |||||
</section> | |||||
<ul class="forum-post-list"> | |||||
<li class="post" [ngClass]="{'active': selectedPost === 1 }"> | |||||
<button class="book-mark-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/bookmark.svg"></svg-icon> | |||||
</button> | |||||
<div (click)="selectedPost = 1"> | |||||
<h5> | |||||
Can anyone explain dark matter radiation theory in a most simplest | |||||
way possible? | |||||
</h5> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente earum at alias aliquam voluptates, cupiditate nobis. Beatae iure mollitia sunt similique omnis blanditiis rerum impedit. Soluta unde amet officia molestiae! | |||||
</p> | |||||
</div> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button" (click)="showMorePostOptions = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
<ul class="comment-list"> | |||||
<button class="add-comment-button" (click)="showAddCommentToPost = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
ADD A COMMENT | |||||
</button> | |||||
<li class="comment"> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla, iusto, quaerat. Facilis commodi, pariatur eum. Nam ullam neque delectus, ducimus! Odit, qui ad vitae. Rerum vero quisquam laboriosam, accusantium optio! | |||||
</p> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/reply.svg"></svg-icon> | |||||
<span> Reply </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
</li> | |||||
<li class="comment"> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nulla, iusto, quaerat. Facilis commodi, pariatur eum. Nam ullam neque delectus, ducimus! Odit, qui ad vitae. Rerum vero quisquam laboriosam, accusantium optio! | |||||
</p> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/reply.svg"></svg-icon> | |||||
<span> Reply </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
</li> | |||||
</ul> | |||||
</li> | |||||
<li class="post" [ngClass]="{'active': selectedPost === 2 }"> | |||||
<button class="book-mark-button"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/bookmark.svg"></svg-icon> | |||||
</button> | |||||
<div (click)="selectedPost = 2"> | |||||
<h5> | |||||
Can anyone explain dark matter radiation theory in a most simplest | |||||
way possible? | |||||
</h5> | |||||
<p> | |||||
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sapiente earum at alias aliquam voluptates, cupiditate nobis. Beatae iure mollitia sunt similique omnis blanditiis rerum impedit. Soluta unde amet officia molestiae! | |||||
</p> | |||||
</div> | |||||
<div class="author"> | |||||
<img src="https://pbs.twimg.com/profile_images/3478244961/01ebfc40ecc194a2abc81e82ab877af4.jpeg"> | |||||
<label> Dwayne the Rock </label> | |||||
<span class="time-stamp"> August 15, 2020 </span> | |||||
</div> | |||||
<div class="action-buttons"> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/like.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/share.svg"></svg-icon> | |||||
<span> 56 </span> | |||||
</button> | |||||
<button class="more-button" (click)="showMorePostOptions = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/more.svg"></svg-icon> | |||||
</button> | |||||
</div> | |||||
<ul class="comment-list"> | |||||
<button class="add-comment-button" (click)="showAddCommentToPost = true"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/comment.svg"></svg-icon> | |||||
ADD A COMMENT | |||||
</button> | |||||
</ul> | |||||
</li> | |||||
</ul> | |||||
<section class="more-options-slideup" [ngClass]="{'active' : showMorePostOptions }"> | |||||
<header> | |||||
<h4> More Options </h4> | |||||
<button class="close-button" (click)="showMorePostOptions = false"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon> | |||||
</button> | |||||
</header> | |||||
<ul> | |||||
<li> | |||||
Downvote Answer | |||||
</li> | |||||
<li> | |||||
Downvote Question | |||||
</li> | |||||
<li> | |||||
Report | |||||
</li> | |||||
</ul> | |||||
</section> | |||||
<section class="more-options-slideup" [ngClass]="{'active' : showAddCommentToPost }"> | |||||
<header> | |||||
<h4> Add Comment </h4> | |||||
<button class="close-button" (click)="showAddCommentToPost = false"> | |||||
<svg-icon [applyClass]="true" class="icon" src="assets/custom-icons/close.svg"></svg-icon> | |||||
</button> | |||||
</header> | |||||
<textarea placeholder="Type your comment..."></textarea> | |||||
<button class="post-comment-button"> Submit </button> | |||||
</section> | |||||
<section *ngIf="selectedSegment === 'forum'"> | |||||
<app-forum></app-forum> | |||||
</section> | </section> | ||||
</div> | </div> | ||||
@@ -328,325 +328,3 @@ | |||||
} | } | ||||
} | } | ||||
} | } | ||||
.forum-details { | |||||
.add-post { | |||||
width: 90%; | |||||
margin: 10px auto; | |||||
textarea { | |||||
border: 0px; | |||||
height: 70px; | |||||
display: block; | |||||
width: 100%; | |||||
font-size: 16px; | |||||
color: var(--light-grey); | |||||
padding: 10px; | |||||
background-color: transparent; | |||||
border-bottom: 2px solid var(--dark-grey); | |||||
resize: none; | |||||
margin-bottom: 20px; | |||||
} | |||||
} | |||||
.input-holder { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
justify-content: flex-start; | |||||
margin-bottom: 10px; | |||||
background-color: var(--ash-black); | |||||
border-radius: 5px; | |||||
padding: 10px; | |||||
height: 50px; | |||||
.icon { | |||||
width: 20px; | |||||
height: 20px; | |||||
fill: var(--light-grey); | |||||
} | |||||
input { | |||||
font-size: 14px; | |||||
border: 0px; | |||||
background-color: transparent; | |||||
padding: 0 10px; | |||||
color: var(--light-grey); | |||||
display: block; | |||||
flex-grow: 1; | |||||
&[type="file"] { | |||||
height: auto; | |||||
} | |||||
} | |||||
} | |||||
.add-post-button { | |||||
margin-top: 20px; | |||||
display: block; | |||||
width: 100px; | |||||
margin-left: auto; | |||||
height: 40px; | |||||
font-size: 14px; | |||||
background-color: var(--teal-green); | |||||
color: white; | |||||
border: 0px; | |||||
border-radius: 7px; | |||||
} | |||||
.more-options-slideup { | |||||
position: fixed; | |||||
width: 100%; | |||||
background-color: var(--ash-black); | |||||
left: 0; | |||||
bottom: 0; | |||||
z-index: 1; | |||||
transform: translateY(100vh); | |||||
transition: box-shadow 0.5s, transform 0.5s; | |||||
&.active { | |||||
box-shadow: 0 0 100vw 100vh rgba(black, 0.8); | |||||
transform: translateY(0); | |||||
} | |||||
header { | |||||
background-color: var(--ash-black); | |||||
filter: brightness(85%); | |||||
display: flex; | |||||
align-items: center; | |||||
height: 45px; | |||||
padding: 0 5%; | |||||
position: relative; | |||||
} | |||||
.close-button { | |||||
border: 0px; | |||||
background-color: transparent; | |||||
margin-left: auto; | |||||
.icon { | |||||
width: 13px; | |||||
height: 13px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
h4 { | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
font-weight: 400; | |||||
} | |||||
textarea { | |||||
display: block; | |||||
height: 150px; | |||||
resize: none; | |||||
background-color: var(--black); | |||||
font-size: 14px; | |||||
color: var(--light-grey); | |||||
padding: 15px; | |||||
border-radius: 7px; | |||||
width: 90%; | |||||
margin: 20px auto; | |||||
border: 0px; | |||||
} | |||||
.post-comment-button { | |||||
width: 90%; | |||||
margin: 20px auto; | |||||
height: 40px; | |||||
background-color: var(--dark-grey); | |||||
box-shadow: 1px 1px 5px var(--black); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
border: 0px; | |||||
} | |||||
ul { | |||||
position: relative; | |||||
list-style: none; | |||||
padding: 0 5%; | |||||
li { | |||||
text-align: center; | |||||
color: white; | |||||
margin: 20px auto; | |||||
font-size: 14px; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.forum-post-list { | |||||
list-style: none; | |||||
width: 100%; | |||||
margin: 20px auto 0; | |||||
overflow: hidden; | |||||
.post { | |||||
background-color: var(--ash-black); | |||||
padding: 20px 5%; | |||||
border-bottom: 1px solid var(--dark-grey); | |||||
position: relative; | |||||
&.active { | |||||
p { | |||||
display: block; | |||||
max-height: none; | |||||
} | |||||
.comment-list { | |||||
display: block; | |||||
} | |||||
} | |||||
} | |||||
.book-mark-button { | |||||
position: absolute; | |||||
right: 10px; | |||||
top: 0; | |||||
border: 0px; | |||||
background-color: transparent; | |||||
.icon { | |||||
width: 20px; | |||||
height: 20px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
h5 { | |||||
font-size: 16px; | |||||
color: white; | |||||
font-weight: 400; | |||||
margin: 0px auto 15px; | |||||
} | |||||
p { | |||||
font-size: 14px; | |||||
color: var(--light-grey); | |||||
display: -webkit-box; | |||||
-webkit-line-clamp: 2; | |||||
-webkit-box-orient: vertical; | |||||
overflow: hidden; | |||||
max-height: 50px; | |||||
margin: 15px auto; | |||||
line-height: 1.7; | |||||
} | |||||
.author { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
margin: 15px auto; | |||||
img { | |||||
width: 20px; | |||||
height: 20px; | |||||
border-radius: 50%; | |||||
margin-right: 7px; | |||||
} | |||||
label { | |||||
font-size: 12px; | |||||
color: white; | |||||
} | |||||
.time-stamp { | |||||
margin-left: 20px; | |||||
color: var(--light-grey); | |||||
font-size: 12px; | |||||
&::before { | |||||
content: ''; | |||||
width: 5px; | |||||
height: 5px; | |||||
background-color: var(--light-grey); | |||||
border-radius: 50%; | |||||
display: inline-block; | |||||
margin-right: 7px; | |||||
vertical-align: middle; | |||||
} | |||||
} | |||||
} | |||||
.action-buttons { | |||||
display: flex; | |||||
align-items: center; | |||||
width: 100%; | |||||
button { | |||||
background-color: transparent; | |||||
color: var(--light-grey); | |||||
border: 0px; | |||||
padding: 0 10px; | |||||
.icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
margin-right: 2px; | |||||
fill: var(--light-grey); | |||||
} | |||||
span { | |||||
vertical-align: top; | |||||
font-size: 12px; | |||||
} | |||||
&.more-button { | |||||
margin-left: auto; | |||||
border: 1px solid var(--light-grey); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
.icon { | |||||
margin-right: 0; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.comment-list { | |||||
list-style: none; | |||||
margin: 20px auto; | |||||
width: 95%; | |||||
display: none; | |||||
.add-comment-button { | |||||
width: 100%; | |||||
margin: 40px auto; | |||||
height: 40px; | |||||
background-color: var(--dark-grey); | |||||
box-shadow: 1px 1px 5px var(--black); | |||||
border-radius: 5px; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: var(--light-grey); | |||||
font-size: 14px; | |||||
border: 0px; | |||||
.icon { | |||||
width: 15px; | |||||
height: 15px; | |||||
margin-right: 5px; | |||||
fill: var(--light-grey); | |||||
} | |||||
} | |||||
.comment { | |||||
margin-bottom: 40px; | |||||
p { | |||||
display: block; | |||||
max-height: none; | |||||
} | |||||
} | |||||
} | |||||
} |
@@ -13,9 +13,6 @@ export class DetailsComponent implements OnInit { | |||||
heading: string; | heading: string; | ||||
routeSubscription: Subscription; | routeSubscription: Subscription; | ||||
selectedChapter: number = 1; | selectedChapter: number = 1; | ||||
showMorePostOptions: boolean = false; | |||||
selectedPost: number; | |||||
showAddCommentToPost: boolean = false; | |||||
constructor( | constructor( | ||||
private route: ActivatedRoute, | private route: ActivatedRoute, | ||||