Commit cab4248a by Arjun

initial push

parent fad6686f
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function() {}
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
import { AppPage } from './app.po';
describe('new App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should be blank', () => {
page.navigateTo();
expect(page.getParagraphText()).toContain('The world is your oyster.');
});
});
import { browser, by, element } from 'protractor';
export class AppPage {
navigateTo() {
return browser.get('/');
}
getParagraphText() {
return element(by.deepCss('app-root ion-content')).getText();
}
}
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "commonjs",
"target": "es5",
"types": [
"jasmine",
"jasminewd2",
"node"
]
}
}
These are Cordova resources. You can replace icon.png and splash.png and run
`ionic cordova resources` to generate custom icons and splash screens for your
app. See `ionic cordova resources --help` for details.
Cordova reference documentation:
- Icons: https://cordova.apache.org/docs/en/latest/config_ref/images.html
- Splash Screens: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-splashscreen/
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">localhost</domain>
</domain-config>
</network-security-config>
import { NgModule } from "@angular/core";
import { PreloadAllModules, RouterModule, Routes } from "@angular/router";
const routes: Routes = [
{ path: "", redirectTo: "home", pathMatch: "full" },
{
path: "home",
loadChildren: () => import("./home/home.module").then(m => m.HomePageModule)
},
{
path: "landing",
loadChildren: () =>
import("./landing/landing.module").then(m => m.LandingPageModule)
},
{
path: "login",
loadChildren: () =>
import("./login/login.module").then(m => m.LoginPageModule)
},
{
path: "signup",
loadChildren: () =>
import("./signup/signup.module").then(m => m.SignupPageModule)
},
{
path: "forgot",
loadChildren: () =>
import("./forgot/forgot.module").then(m => m.ForgotPageModule)
},
{
path: "otp",
loadChildren: () => import("./otp/otp.module").then(m => m.OtpPageModule)
},
{
path: "profile",
loadChildren: () =>
import("./profile/profile.module").then(m => m.ProfilePageModule)
},
{
path: "chat",
loadChildren: () => import("./chat/chat.module").then(m => m.ChatPageModule)
},
{
path: "like",
loadChildren: () => import("./like/like.module").then(m => m.LikePageModule)
},
{
path: "chatmessages",
loadChildren: () =>
import("./chatmessages/chatmessages.module").then(
m => m.ChatmessagesPageModule
)
},
{
path: "chatpopover",
loadChildren: () =>
import("./chatpopover/chatpopover.module").then(
m => m.ChatpopoverPageModule
)
},
{
path: "profilesettings",
loadChildren: () =>
import("./profilesettings/profilesettings.module").then(
m => m.ProfilesettingsPageModule
)
},
{
path: "phonecode",
loadChildren: () =>
import("./phonecode/phonecode.module").then(m => m.PhonecodePageModule)
}
];
@NgModule({
imports: [
RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })
],
exports: [RouterModule]
})
export class AppRoutingModule {}
<ion-app>
<ion-router-outlet></ion-router-outlet>
<div class="bottom_main_tab_section">
<ul>
<li class="m1" (click)="goToPage('home')"></li>
<li class="m2" (click)="goToPage('chat')"></li>
<li class="m3" (click)="goToPage('like')"></li>
<li class="m4" (click)="goToPage('profilesettings')"></li>
</ul>
</div>
</ion-app>
\ No newline at end of file
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { TestBed, async } from '@angular/core/testing';
import { Platform } from '@ionic/angular';
import { SplashScreen } from '@ionic-native/splash-screen/ngx';
import { StatusBar } from '@ionic-native/status-bar/ngx';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
let statusBarSpy, splashScreenSpy, platformReadySpy, platformSpy;
beforeEach(async(() => {
statusBarSpy = jasmine.createSpyObj('StatusBar', ['styleDefault']);
splashScreenSpy = jasmine.createSpyObj('SplashScreen', ['hide']);
platformReadySpy = Promise.resolve();
platformSpy = jasmine.createSpyObj('Platform', { ready: platformReadySpy });
TestBed.configureTestingModule({
declarations: [AppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{ provide: StatusBar, useValue: statusBarSpy },
{ provide: SplashScreen, useValue: splashScreenSpy },
{ provide: Platform, useValue: platformSpy },
],
}).compileComponents();
}));
it('should create the app', () => {
const fixture = TestBed.createComponent(AppComponent);
const app = fixture.debugElement.componentInstance;
expect(app).toBeTruthy();
});
it('should initialize the app', async () => {
TestBed.createComponent(AppComponent);
expect(platformSpy.ready).toHaveBeenCalled();
await platformReadySpy;
expect(statusBarSpy.styleDefault).toHaveBeenCalled();
expect(splashScreenSpy.hide).toHaveBeenCalled();
});
// TODO: add more tests!
});
import { Component } from "@angular/core";
import { Platform } from "@ionic/angular";
import { SplashScreen } from "@ionic-native/splash-screen/ngx";
import { StatusBar } from "@ionic-native/status-bar/ngx";
import { Router } from "@angular/router";
@Component({
selector: "app-root",
templateUrl: "app.component.html",
styleUrls: ["app.component.scss"]
})
export class AppComponent {
notShown: boolean;
constructor(
private platform: Platform,
private splashScreen: SplashScreen,
private statusBar: StatusBar,
private router: Router
) {
this.initializeApp();
this.notShown = true;
}
initializeApp() {
this.platform.ready().then(() => {
this.statusBar.styleDefault();
this.splashScreen.hide();
});
}
goToPage(path, data = null) {
this.router.navigateByUrl(path, { queryParams: data });
}
}
import { NgModule } from "@angular/core";
import { BrowserModule } from "@angular/platform-browser";
import { RouteReuseStrategy } from "@angular/router";
import { IonicModule, IonicRouteStrategy } from "@ionic/angular";
import { SplashScreen } from "@ionic-native/splash-screen/ngx";
import { StatusBar } from "@ionic-native/status-bar/ngx";
import { AppComponent } from "./app.component";
import { AppRoutingModule } from "./app-routing.module";
import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
import { MediaPageModule } from "../app/media/media.module";
import { ChatpopoverPageModule } from "../app/chatpopover/chatpopover.module";
@NgModule({
declarations: [AppComponent],
entryComponents: [],
imports: [
BrowserModule,
BrowserAnimationsModule,
IonicModule.forRoot(),
AppRoutingModule,
MediaPageModule,
ChatpopoverPageModule
],
providers: [
StatusBar,
SplashScreen,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy }
],
bootstrap: [AppComponent]
})
export class AppModule {}
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ChatPage } from './chat.page';
const routes: Routes = [
{
path: '',
component: ChatPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ChatPageRoutingModule {}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ChatPageRoutingModule } from './chat-routing.module';
import { ChatPage } from './chat.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ChatPageRoutingModule
],
declarations: [ChatPage]
})
export class ChatPageModule {}
<ion-header>
<div class="nav_header">
<button class="nav_btn floatLeft"></button>
<div class="nav_header_title floatLeft">
Chats
</div>
<div class="clear"></div>
</div>
</ion-header>
<ion-content>
<div class="chat_list_wrapper">
<ion-list>
<ion-item (click)="goToPage('chatmessages')">
<ion-label>
<div class="circle_pic floatLeft"></div>
<div class="detail_section floatLeft">
<h5>Sofia Ella <span>24</span></h5>
<p>Hello !</p>
</div>
<div class="end_section floatRight textRight">
<div class="not floatRight">
2
</div>
<div class="clear"></div>
<p>05:30 PM</p>
<div class="clear"></div>
</div>
</ion-label>
</ion-item>
<ion-item (click)="goToPage('chatmessages')">
<ion-label>
<div class="circle_pic floatLeft"></div>
<div class="detail_section floatLeft">
<h5>Sofia Ella <span>24</span></h5>
<p>Hello !</p>
</div>
<div class="end_section floatRight textRight">
<div class="not floatRight">
2
</div>
<div class="clear"></div>
<p>05:30 PM</p>
<div class="clear"></div>
</div>
</ion-label>
</ion-item>
<ion-item (click)="goToPage('chatmessages')">
<ion-label>
<div class="circle_pic floatLeft"></div>
<div class="detail_section floatLeft">
<h5>Sofia Ella <span>24</span></h5>
<p>Hello !</p>
</div>
<div class="end_section floatRight textRight">
<div class="not floatRight">
2
</div>
<div class="clear"></div>
<p>05:30 PM</p>
<div class="clear"></div>
</div>
</ion-label>
</ion-item>
<ion-item (click)="goToPage('chatmessages')">
<ion-label>
<div class="circle_pic floatLeft"></div>
<div class="detail_section floatLeft">
<h5>Sofia Ella <span>24</span></h5>
<p>Hello !</p>
</div>
<div class="end_section floatRight textRight">
<div class="not floatRight">
2
</div>
<div class="clear"></div>
<p>05:30 PM</p>
<div class="clear"></div>
</div>
</ion-label>
</ion-item>
</ion-list>
</div>
</ion-content>
\ No newline at end of file
@import "../../global.scss";
.chat_list_wrapper {
.circle_pic {
width:50px;
height: 50px;
border-radius: 50%;
background-color: $primary_color;
background-image: url("../../assets/id.png");
background-position: center;
background-size: 30px;
background-repeat: no-repeat;
img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
border-radius: 50%;
}
}
.detail_section {
width:calc(100% - 130px);
padding: 5px;
padding-left:20px;
h5 {
margin:0px;
padding:0px;
color:$dark_prime;
font-size: 16px;
span{
color:$primary_color;
font-size: 14px;
position: relative;
bottom: 6px;
}
}
p {
margin:0px;
padding:0px;
color:#988FA7;
}
}
.end_section{
width: 80px;
height: 50px;
padding: 0px;
.not{
color:$white_color;
background-color:$primary_color;
width: 18px;
height: 18px;
border-radius: 50%;
text-align: center;
font-size: 13px;
margin-bottom: 7px;
}
p {
margin:0px;
padding:0px;
color:#988FA7;
text-align:right;
}
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ChatPage } from './chat.page';
describe('ChatPage', () => {
let component: ChatPage;
let fixture: ComponentFixture<ChatPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ChatPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ChatPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from "@angular/core";
import { Router } from "@angular/router";
@Component({
selector: "app-chat",
templateUrl: "./chat.page.html",
styleUrls: ["./chat.page.scss"]
})
export class ChatPage implements OnInit {
constructor(private router: Router) {}
ngOnInit() {}
goToPage(path, data = null) {
this.router.navigateByUrl(path, { queryParams: data });
}
}
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ChatmessagesPage } from './chatmessages.page';
const routes: Routes = [
{
path: '',
component: ChatmessagesPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ChatmessagesPageRoutingModule {}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ChatmessagesPageRoutingModule } from './chatmessages-routing.module';
import { ChatmessagesPage } from './chatmessages.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ChatmessagesPageRoutingModule
],
declarations: [ChatmessagesPage]
})
export class ChatmessagesPageModule {}
<ion-header>
<div class="nav_header">
<button class="nav_btn back_icon floatLeft"></button>
<div class="nav_header_title floatLeft">
<span>Allison Adley</span>
</div>
<button class="nav_btn more_icon floatRight" (click)="chatPopover()"></button>
<div class="clear"></div>
</div>
</ion-header>
<ion-content>
<div class="chat_message_wrapper">
<ul>
<li>
<div class="message_inner_wrapper incoming_msg">
<div class="chat_picture">
</div>
<div class="time_message_section">
<div class="chat_message">
Hello..
</div>
<div class="chat_time">
03:00 PM
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</li>
<li>
<div class="message_inner_wrapper outgoing_msg">
<div class="chat_picture">
</div>
<div class="time_message_section">
<div class="chat_time">
03:00 PM
</div>
<div class="chat_message">
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has
survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged.
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</li>
<li>
<div class="message_inner_wrapper outgoing_msg">
<div class="chat_picture">
</div>
<div class="time_message_section">
<div class="chat_time">
03:00 PM
</div>
<div class="chat_message">
<div class="relative">
<img src="../../assets/profile.png">
</div>
lorem ipsum loard
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</li>
<li>
<div class="message_inner_wrapper incoming_msg">
<div class="chat_picture">
</div>
<div class="time_message_section">
<div class="chat_time">
03:00 PM
</div>
<div class="chat_message">
<div class="relative">
<div class="overlay">
</div>
<img src="../../assets/profile.png" class="blur_image">
</div>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</li>
</ul>
</div>
</ion-content>
<ion-footer>
<div class="bottom_section">
<div class="message_type_area">
<input class="" type="text" placeholder="Type here">
<div class="photo" (click)="openModal()"></div>
<div class="clear"></div>
</div>
<div class="mesage_send"></div>
<div class="clear"></div>
</div>
</ion-footer>
\ No newline at end of file
@import "../../global.scss";
.online {
width: 10px;
height: 10px;
border-radius: 50%;
background-color: $primary_color;
}
.chat_message_wrapper {
ul {
padding: 10px;
margin: 0px;
li {
list-style: none;
padding-bottom: 20px;
.message_inner_wrapper {
width: 100%;
.chat_picture {
width: 40px;
height: 40px;
background: $secondary_color;
border-radius: 50%;
img {
width: 100%;
height: 100%;
object-position: center;
object-fit: cover;
}
}
.time_message_section {
padding-left: 10px;
padding-right: 10px;
width: calc(100% - 40px);
.chat_message {
padding: 10px;
max-width: 60%;
margin-left: 10px;
margin-right: 10px;
border-radius: 10px;
color: $dark_prime;
text-align: justify;
font-size: 14px;
line-height: 18px;
.overlay {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
bottom: 0px;
background-image: url("../../assets/download.png");
background-position: center;
background-size: 40px;
background-repeat: no-repeat;
z-index: 99;
}
.blur_image {
-webkit-filter: blur(10px);
filter: blur(10px);
}
img {
border-radius: 10px;
}
}
.chat_time {
color: #D1D5DA;
font-size: 12px;
}
}
}
.incoming_msg {
.chat_picture {
float: left;
border: 1px solid #27AE60;
}
.time_message_section {
float: left;
flex-direction: row;
box-sizing: border-box;
display: flex;
place-content: flex-end flex-start;
align-items: flex-end;
.chat_message {
float: left;
background: $secondary_color;
border-bottom-left-radius: 0px;
img {
border-bottom-left-radius: 0px;
}
}
.chat_time {
float: left;
}
}
}
.outgoing_msg {
.chat_picture {
float: right;
border: 1px solid #4F3C7B;
}
.time_message_section {
float: right;
flex-direction: row;
box-sizing: border-box;
display: flex;
place-content: flex-end;
align-items: flex-end;
.chat_message {
float: right;
background-color: #E3E8EF;
border-bottom-right-radius: 0px;
img {
border-bottom-right-radius: 0px;
}
}
.chat_time {
float: right;
background-image: url("../../assets/tick.png");
background-repeat: no-repeat;
background-size: 9px;
padding-left: 20px;
background-position: 5px;
}
}
}
}
}
}
.bottom_section {
padding: 15px;
.message_type_area {
width: calc(100% - 55px);
float: left;
background-color: #F4F6F9;
border-radius: 25px;
input {
height: 50px;
float: left;
width: calc(100% - 50px);
border: none;
padding-left: 20px;
padding-right: 20px;
background-color: transparent;
&:focus {
outline: none;
}
&::placeholder {
color: $dark_prime;
}
}
.photo {
width: 50px;
height: 50px;
float: left;
background-image: url("../../assets/photo.png");
background-position: center;
background-repeat: no-repeat;
background-size: 20px;
}
}
.mesage_send {
float: right;
width: 50px;
height: 50px;
margin-left: 5px;
background-image: url("../../assets/send.png");
background-position: center;
background-repeat: no-repeat;
background-size: 100%;
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ChatmessagesPage } from './chatmessages.page';
describe('ChatmessagesPage', () => {
let component: ChatmessagesPage;
let fixture: ComponentFixture<ChatmessagesPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ChatmessagesPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ChatmessagesPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from "@angular/core";
import { ModalController } from "@ionic/angular";
import { MediaPage } from "../media/media.page";
import { PopoverController, NavParams, Events } from "@ionic/angular";
import { ChatpopoverPage } from "../chatpopover/chatpopover.page";
import { from } from "rxjs";
@Component({
selector: "app-chatmessages",
templateUrl: "./chatmessages.page.html",
styleUrls: ["./chatmessages.page.scss"]
})
export class ChatmessagesPage implements OnInit {
constructor(
public modalController: ModalController,
private popoverController: PopoverController
) {}
ngOnInit() {}
async openModal() {
const modal = await this.modalController.create({
component: MediaPage
});
return await modal.present();
}
async chatPopover(ev: any) {
const popover = await this.popoverController.create({
component: ChatpopoverPage,
event: ev,
componentProps: { page: "Login" },
cssClass: "popover_class"
});
return await popover.present();
}
}
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ChatpopoverPage } from './chatpopover.page';
const routes: Routes = [
{
path: '',
component: ChatpopoverPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ChatpopoverPageRoutingModule {}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ChatpopoverPageRoutingModule } from './chatpopover-routing.module';
import { ChatpopoverPage } from './chatpopover.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ChatpopoverPageRoutingModule
],
declarations: [ChatpopoverPage]
})
export class ChatpopoverPageModule {}
<ion-header>
<ion-toolbar>
<ion-title>chatpopover</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
</ion-content>
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ChatpopoverPage } from './chatpopover.page';
describe('ChatpopoverPage', () => {
let component: ChatpopoverPage;
let fixture: ComponentFixture<ChatpopoverPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ChatpopoverPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ChatpopoverPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-chatpopover',
templateUrl: './chatpopover.page.html',
styleUrls: ['./chatpopover.page.scss'],
})
export class ChatpopoverPage implements OnInit {
constructor() { }
ngOnInit() {
}
}
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ForgotPage } from './forgot.page';
const routes: Routes = [
{
path: '',
component: ForgotPage
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class ForgotPageRoutingModule {}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { ForgotPageRoutingModule } from './forgot-routing.module';
import { ForgotPage } from './forgot.page';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
ForgotPageRoutingModule
],
declarations: [ForgotPage]
})
export class ForgotPageModule {}
<ion-content>
<div class="nav_header">
<button class="nav_btn floatLeft">
<ion-icon name="md-arrow-dropleft"></ion-icon>
</button>
<div class="nav_header_title floatLeft">
Forgot Password
</div>
<div class="clear"></div>
</div>
<div class="login_wrapper">
<div class="login_title">
<img src="../../assets/wizard_four.png">
</div>
<div class="login_form">
<div class="login_row">
<input class="call" type="number" placeholder="Phone number">
</div>
<div class="login_row">
<button class="login_btn" (click)="goToPage('otp')">Send OTP</button>
</div>
</div>
<br>
</div>
</ion-content>
\ No newline at end of file
@import "../../global.scss";
.nav_header {
position: absolute;
top: 0px;
left: 0px;
right: 0px;
background-color: transparent !important;
box-shadow: none !important;
.nav_btn {
font-size: 40px !important;
padding: 5px !important;
}
.nav_header_title {
color: $white_color !important;
padding-top: 14px !important;
padding-bottom: 14px !important;
text-transform: capitalize !important;
}
}
.login_wrapper {
height: 100vh;
width: 100%;
text-align: center;
.login_title {
width: 100%;
background-image: url("../../assets/wizard_bg.png");
background-repeat: no-repeat;
background-size: 100%;
background-position: center bottom;
padding-top: 120px;
padding-bottom: 120px;
}
img {
width: 185px;
}
.login_form {
text-align: center;
width: calc(100% - 40px);
margin: 0 auto;
padding-top: 50px;
.login_row {
padding-bottom: 15px;
h4 {
text-align: center;
color: $dark_prime;
font-weight: 600;
font-size: 28px;
}
input {
width: 100%;
height: 45px;
border: none;
border-radius: 24px;
text-align: center;
padding-left: 40px;
padding-right: 40px;
background-color: $secondary_color;
background-size: 18px;
background-repeat: no-repeat;
background-position: 25px;
&:focus {
outline: none;
}
}
.call {
background-image: url("../../assets/call_icon.png");
}
background-position: left 23px top 12px,
right 23px top 12px;
}
.login_btn {
background-color: $primary_color;
height: 45px;
color: $white_color;
border-radius: 24px;
width: 100%;
font-size: 18px;
background-image: url("../../assets/arrow_icon.png");
background-repeat: no-repeat;
background-size: 20px;
background-position: right 15px top 15px;
&:focus {
outline: none;
}
}
}
}
.social_bay {
width: 100%;
padding-bottom: 10px;
ul {
margin: 0px;
padding: 0px;
width: 100%;
text-align: center;
li {
display: inline-block;
border: 1px solid #EFEDF2;
width: 60px;
height: 45px;
border-radius: 28px;
margin: 10px;
background-position: center;
background-repeat: no-repeat;
}
.fb_icon {
background-image: url("../../assets/fb_icon.png");
background-size: 11px;
}
.google_icon {
background-image: url("../../assets/google_icon.png");
background-size: 20px;
}
}
}
p {
color: #988FA7;
text-align: center;
font-size: 14px;
line-height: 20px;
margin: 0px;
font-weight: 500;
padding-bottom: 15px;
strong {
color: #593799;
font-weight: 500;
}
}
\ No newline at end of file
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
import { ForgotPage } from './forgot.page';
describe('ForgotPage', () => {
let component: ForgotPage;
let fixture: ComponentFixture<ForgotPage>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ ForgotPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
fixture = TestBed.createComponent(ForgotPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment