瀏覽代碼

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

} }

Loading…
取消
儲存