Преглед изворни кода

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…
Откажи
Сачувај