Parcourir la source

FAQ page mobile UI completed

master
kj1352 il y a 5 ans
Parent
révision
6c13537d52
6 fichiers modifiés avec 117 ajouts et 17 suppressions
  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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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;
}

} }

Chargement…
Annuler
Enregistrer