Переглянути джерело

FAQ page mobile UI completed

master
kj1352 6 роки тому
джерело
коміт
6c13537d52
6 змінених файлів з 117 додано та 17 видалено
  1. +18
    -3
      src/app/faq/faq.component.html
  2. +77
    -0
      src/app/faq/faq.component.scss
  3. +4
    -4
      src/app/more/more.component.html
  4. +12
    -7
      src/app/more/more.component.ts
  5. +1
    -2
      src/app/widgets-holder/widgets-holder.component.html
  6. +5
    -1
      src/app/widgets-holder/widgets-holder.component.ts

+ 18
- 3
src/app/faq/faq.component.html Переглянути файл

@@ -1,14 +1,18 @@
<div class="widget-heading-holder"> <div class="widget-heading-holder">
<header> Frequently Asked Questions </header> <header> Frequently Asked Questions </header>


<div class="search-input">
<div class="search-input" *ngIf="!selectedCard">
<input type="text" placeholder="Quick Search"> <input type="text" placeholder="Quick Search">
<button> <i class="icon ion-md-search"></i> </button> <button> <i class="icon ion-md-search"></i> </button>
</div> </div>

<button class="back-button round-button" *ngIf="selectedCard" (click)="selectedCard = null">
<i class="icon ion-md-arrow-back"></i> Back
</button>
</div> </div>


<div class="container"> <div class="container">
<ul class="topic-list">
<ul class="topic-list" [ngClass]="{'active' : !selectedCard }">
<li [ngClass]="{'active' : selectedCard === 1}" (click)="selectedCard = 1"> <li [ngClass]="{'active' : selectedCard === 1}" (click)="selectedCard = 1">
<header> General inquiries </header> <header> General inquiries </header>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p>
@@ -19,7 +23,7 @@
</li> </li>
</ul> </ul>


<ul class="topic-detail">
<ul class="topic-detail" [ngClass]="{'active' : selectedCard }">
<div class="heading"> <div class="heading">
<header> General Inquiries </header> <header> General Inquiries </header>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit. </p>
@@ -35,5 +39,16 @@
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus at aliquid voluptatem ut similique vitae odit fuga minima cum. Eveniet, cumque? Rerum eius voluptatem ratione deserunt, quasi non. Accusantium, incidunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus at aliquid voluptatem ut similique vitae odit fuga minima cum. Eveniet, cumque? Rerum eius voluptatem ratione deserunt, quasi non. Accusantium, incidunt.
</p> </p>
</li> </li>

<li>
<header> What is the most frequently asked question?
<button (click)="showDetails = !showDetails" [ngClass]="{'active' : showDetails }">
<i class="icon" [ngClass]="{'ion-ios-add-circle-outline': !showDetails , 'ion-ios-remove-circle-outline' : showDetails}"></i>
</button>
</header>
<p *ngIf="showDetails">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Necessitatibus at aliquid voluptatem ut similique vitae odit fuga minima cum. Eveniet, cumque? Rerum eius voluptatem ratione deserunt, quasi non. Accusantium, incidunt.
</p>
</li>
</ul> </ul>
</div> </div>

+ 77
- 0
src/app/faq/faq.component.scss Переглянути файл

@@ -7,6 +7,11 @@
color: var(--brand-blue); color: var(--brand-blue);
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
overflow: hidden;

@media screen and (max-width: 1023px) {
width: 100%;
}


input { input {
border: 0; border: 0;
@@ -16,6 +21,7 @@
color: var(--dark-grey); color: var(--dark-grey);
flex-grow: 1; flex-grow: 1;
letter-spacing: 1px; letter-spacing: 1px;
height: 100%;


&::placeholder { &::placeholder {
color: var(--grey); color: var(--grey);
@@ -39,11 +45,26 @@
} }
} }


.back-button {
display: none;

@media screen and (max-width: 1023px) {
display: block;
background-color: var(--brand-blue);
width: 100px;
padding: 0;
}
}

.container { .container {
display: flex; display: flex;
width: 95%; width: 95%;
margin: 30px auto; margin: 30px auto;
letter-spacing: 1px; letter-spacing: 1px;

@media screen and (max-width: 1023px) {
width: 90%;
}
} }


.topic-list { .topic-list {
@@ -53,9 +74,25 @@
margin: 0 auto; margin: 0 auto;
list-style: none; list-style: none;


&.active {
@media screen and (max-width: 1023px) {
display: block;
}
}

@media screen and (max-width: 1023px) {
height: 100%;
width: 100%;
display: none;
}

&:hover { &:hover {
&::-webkit-scrollbar { &::-webkit-scrollbar {
display: block; display: block;

@media screen and (max-width: 1023px) {
display: none;
}
} }
} }


@@ -118,9 +155,25 @@
overflow: auto; overflow: auto;
padding: 20px 25px; padding: 20px 25px;


@media screen and (max-width: 1023px) {
width: 100%;
display: none;
}

&.active {
@media screen and (max-width: 1023px) {
display: block;
height: auto;
}
}

&:hover { &:hover {
&::-webkit-scrollbar { &::-webkit-scrollbar {
display: block; display: block;

@media screen and (max-width: 1023px) {
display: none;
}
} }
} }


@@ -148,12 +201,23 @@
font-size: 20px; font-size: 20px;
color: var(--dark-grey); color: var(--dark-grey);
font-weight: 500; font-weight: 500;
margin-bottom: 5px;

@media screen and (max-width: 1023px) {
font-size: 16px;
}
} }


p { p {
font-size: 12px; font-size: 12px;
color: var(--grey); color: var(--grey);
line-height: 1.5; line-height: 1.5;

@media screen and (max-width: 1023px) {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
} }
} }


@@ -169,10 +233,17 @@
border-bottom: 1px solid #efefef; border-bottom: 1px solid #efefef;
padding: 10px 0; padding: 10px 0;


@media screen and (max-width: 1023px) {
border-bottom: 0;
border-top: 1px solid #efefef;
font-size: 12px;
}

button { button {
background-color: transparent; background-color: transparent;
border: 0px; border: 0px;
color: var(--brand-blue); color: var(--brand-blue);
margin-left: 10px;


&.active { &.active {
color: var(--grey); color: var(--grey);
@@ -189,6 +260,12 @@
font-size: 13px; font-size: 13px;
line-height: 1.5; line-height: 1.5;
margin-top: 15px; margin-top: 15px;
padding-bottom: 10px;

@media screen and (max-width: 1023px) {
margin-top: 0px;
font-size: 12px;
}
} }
} }
} }

+ 4
- 4
src/app/more/more.component.html Переглянути файл

@@ -6,15 +6,15 @@
</section> </section>


<ul class="nav-list"> <ul class="nav-list">
<li>
<li (click)="navigateOnClick('faq')">
<i class="icon ion-md-help-circle-outline"></i> <i class="icon ion-md-help-circle-outline"></i>
<label> FAQs </label> <label> FAQs </label>
</li> </li>
<li>
<i class="icon ion-ios-chatbubbles"></i>
<li (click)="navigateOnClick('support')">
<i class="icon ion-ios-chatbubbles"></i>
<label> Support </label> <label> Support </label>
</li> </li>
<li>
<li (click)="navigateOnClick('settings')">
<i class="icon ion-ios-cog"></i> <i class="icon ion-ios-cog"></i>
<label> Settings </label> <label> Settings </label>
</li> </li>


+ 12
- 7
src/app/more/more.component.ts Переглянути файл

@@ -1,15 +1,20 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, EventEmitter, Output } from '@angular/core';


@Component({ @Component({
selector: 'app-more',
templateUrl: './more.component.html',
styleUrls: ['./more.component.scss']
selector: 'app-more',
templateUrl: './more.component.html',
styleUrls: ['./more.component.scss']
}) })
export class MoreComponent implements OnInit { export class MoreComponent implements OnInit {
@Output() navClick = new EventEmitter();


constructor() { }
constructor() { }


ngOnInit() {
}
ngOnInit() {
}

navigateOnClick(page: string) {
this.navClick.emit(page);
}


} }

+ 1
- 2
src/app/widgets-holder/widgets-holder.component.html Переглянути файл

@@ -1,6 +1,5 @@
<section class="nav-bar"> <section class="nav-bar">
<img src="assets/logo.svg" alt="Logo"> <img src="assets/logo.svg" alt="Logo">

<nav> <nav>
<a [ngClass]="{'active' : selected_nav === 'faq'}" <a [ngClass]="{'active' : selected_nav === 'faq'}"
(click)="selected_nav = 'faq'"> FAQ's </a> (click)="selected_nav = 'faq'"> FAQ's </a>
@@ -52,6 +51,6 @@
<app-schedules *ngIf="selected_nav === 'schedule'"></app-schedules> <app-schedules *ngIf="selected_nav === 'schedule'"></app-schedules>
<app-faq *ngIf="selected_nav === 'faq'"></app-faq> <app-faq *ngIf="selected_nav === 'faq'"></app-faq>
<app-support *ngIf="selected_nav === 'support'"></app-support> <app-support *ngIf="selected_nav === 'support'"></app-support>
<app-more *ngIf="selected_nav === 'more'"></app-more>
<app-more (navClick)="getNavPage($event)" *ngIf="selected_nav === 'more'"></app-more>
</section> </section>
</div> </div>

+ 5
- 1
src/app/widgets-holder/widgets-holder.component.ts Переглянути файл

@@ -6,11 +6,15 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./widgets-holder.component.scss'] styleUrls: ['./widgets-holder.component.scss']
}) })
export class WidgetsHolderComponent implements OnInit { export class WidgetsHolderComponent implements OnInit {
selected_nav: string = 'more';
selected_nav: string = 'faq';


constructor() { } constructor() { }


ngOnInit() { ngOnInit() {
} }


getNavPage(page: string) {
this.selected_nav = page;
}

} }

Завантаження…
Відмінити
Зберегти