| @@ -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, | ||||