Просмотр исходного кода

FAQ page mobile UI completed

master
kj1352 6 лет назад
Родитель
Сommit
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;
}

} }

Загрузка…
Отмена
Сохранить