fix page layout
This commit is contained in:
@@ -1,45 +1,35 @@
|
||||
<div class="task_activity">
|
||||
<!-- <div class="flex">-->
|
||||
<!-- <ion-label class="bold">Most Popular Courses</ion-label>-->
|
||||
<!-- <ion-label class="color">See all</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<div class="task_activity">
|
||||
|
||||
<div class="sec">
|
||||
<ion-label class="red">Due Date:{{jobData.delivery_date | date }}</ion-label>
|
||||
<ion-label class="color">{{jobData.contract}}</ion-label>
|
||||
</div>
|
||||
|
||||
<div class="video {{item.who}}" *ngFor="let item of msgListData">
|
||||
<div class="left">
|
||||
<div class="bg_image men_image" [style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/msg/TEXT.svg)'"></div>
|
||||
|
||||
<div class="text" style="padding: 1px; width: 100%;">
|
||||
<ion-label class="bold_text">{{item.msg_firstname}}-{{item.msg_date |date}}</ion-label>
|
||||
<ion-label *ngIf="item.msg_type != 'FILE' " class="grey_text">
|
||||
<!-- <ion-textarea> {{item.message}} </ion-textarea>-->
|
||||
<!-- <ion-input [innerHTML]="item.message"></ion-input>-->
|
||||
|
||||
<div style="width: 100%; padding: 1px; ">
|
||||
<div style="word-break: break-word">{{item.message.replace("_"," ")}}</div>
|
||||
<!-- <ion-input-->
|
||||
<!-- style="background-color: white;-->
|
||||
<!-- height: 40px;-->
|
||||
<!-- width: 100%; "-->
|
||||
<!-- value={{item.message}}></ion-input>-->
|
||||
|
||||
<!-- <ion-textarea [readonly]="true"-->
|
||||
<!-- [wrap]="hard"-->
|
||||
<!-- [autoGrow]="true"-->
|
||||
<!-- [scrollLeft]="true"-->
|
||||
<!-- class="grey_text" [innerHTML]="item.message"> </ion-textarea>-->
|
||||
|
||||
<!-- <div style="background-color: lightgoldenrodyellow; word-wrap: break-word;overflow-wrap:break-word; width: 100%;" class="grey_text" [innerHTML]="item.message"></div>-->
|
||||
</div>
|
||||
|
||||
</ion-label>
|
||||
<ion-label *ngIf="item.msg_type == 'FILE' " class="grey_text"><a href="{{session_image_server}}/{{curr_session}}/contracts/{{item.msg_uid}}">{{item.message}}</a></ion-label>
|
||||
</div>
|
||||
<div class="sec" style="font-size: 12px;">
|
||||
<ion-label class="red">Due Date:{{jobData.delivery_date | date }}</ion-label>
|
||||
<ion-label class="color">{{jobData.contract}}</ion-label>
|
||||
</div>
|
||||
|
||||
<div *ngIf="msg_count > 0" style="font-size: 12px; font-weight: bold; color: #1f1f3b; padding: 10px 0 5px ;">
|
||||
Click any message to copy
|
||||
<span style="color: red;">{{resultText}}</span>
|
||||
</div>
|
||||
|
||||
<div class="video {{item.who}}" *ngFor="let item of msgListData">
|
||||
<div class="left">
|
||||
<div style="width: 20px; height: auto; background-repeat: no-repeat;"
|
||||
[style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/msg/TEXT.svg)'"></div>
|
||||
|
||||
<div class="text" style="padding: 1px; width: 100%;">
|
||||
<ion-label class="bold_text" style="font-size:12px;">{{item.msg_firstname}}
|
||||
-{{item.msg_date |date}}</ion-label>
|
||||
<ion-label *ngIf="item.msg_type != 'FILE' " class="grey_text">
|
||||
<div style="width: 100%; padding: 1px; background-color: white; border-radius: 5px;"
|
||||
(click)="copyThisText(item.message)">
|
||||
<div style="word-break: break-word">{{item.message.replace("_", " ")}}</div>
|
||||
</div>
|
||||
|
||||
</ion-label>
|
||||
<ion-label *ngIf="item.msg_type == 'FILE' " class="grey_text"><a
|
||||
href="{{session_image_server}}/{{curr_session}}/contracts/{{item.msg_uid}}">{{item.message}}</a>
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -1,67 +1,100 @@
|
||||
import { Component, OnInit,Input } from '@angular/core';
|
||||
import {Component, OnInit, Input} from '@angular/core';
|
||||
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
||||
import {WrenchService} from "../../services/wrench.service";
|
||||
import {ToastController} from "@ionic/angular";
|
||||
|
||||
@Component({
|
||||
selector: 'app-taskactivities',
|
||||
templateUrl: './taskactivities.component.html',
|
||||
styleUrls: ['./taskactivities.component.scss'],
|
||||
selector: 'app-taskactivities',
|
||||
templateUrl: './taskactivities.component.html',
|
||||
styleUrls: ['./taskactivities.component.scss'],
|
||||
})
|
||||
export class TaskactivitiesComponent implements OnInit {
|
||||
@Input('jobData') jobData:any;
|
||||
session_image_server:string='';
|
||||
curr_session:string="";
|
||||
constructor(
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
private wrenchService: WrenchService
|
||||
) {
|
||||
addEventListener('app-taskactivities-refresh', () => {
|
||||
this.activeJobMsgList();
|
||||
});
|
||||
@Input('jobData') jobData: any;
|
||||
session_image_server: string = '';
|
||||
curr_session: string = "";
|
||||
|
||||
}
|
||||
constructor(
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
public toastController: ToastController,
|
||||
private wrenchService: WrenchService
|
||||
) {
|
||||
addEventListener('app-taskactivities-refresh', () => {
|
||||
this.activeJobMsgList();
|
||||
});
|
||||
|
||||
ngOnInit() {
|
||||
this.session_image_server = this.sessionDataProviderService.session_image_server;
|
||||
this.curr_session = this.sessionDataProviderService.session;
|
||||
}
|
||||
|
||||
console.log("IN COMPO ACT", this.jobData);
|
||||
this.activeJobMsgList();
|
||||
}
|
||||
contrData: {
|
||||
action:number,
|
||||
member_id: number,
|
||||
uid: string,
|
||||
sessionid: string,
|
||||
limit:20,
|
||||
contract:string,
|
||||
offset: 0
|
||||
};
|
||||
msgListTotalData:any;
|
||||
msgListData:any;
|
||||
ngOnInit() {
|
||||
this.session_image_server = this.sessionDataProviderService.session_image_server;
|
||||
this.curr_session = this.sessionDataProviderService.session;
|
||||
|
||||
activeJobMsgList(){
|
||||
this.contrData = {
|
||||
action:14011,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session ,
|
||||
limit:20,
|
||||
contract: this.jobData.contract,
|
||||
offset: 0}
|
||||
console.log("IN COMPO ACT", this.jobData);
|
||||
this.activeJobMsgList();
|
||||
}
|
||||
|
||||
this.wrenchService.activeJobMsgList(this.contrData).subscribe(
|
||||
msgListTotalData => {
|
||||
this.msgListTotalData = msgListTotalData;
|
||||
// console.log("REFER RETURN->", this.referTotalData);
|
||||
this.msgListData = this.msgListTotalData.result_list;
|
||||
console.log("REFER RETURN DATA->", this.msgListData);
|
||||
contrData: {
|
||||
action: number,
|
||||
member_id: number,
|
||||
uid: string,
|
||||
sessionid: string,
|
||||
limit: 20,
|
||||
contract: string,
|
||||
offset: 0
|
||||
};
|
||||
msgListTotalData: any;
|
||||
msgListData: any;
|
||||
msg_count: number = 0;
|
||||
|
||||
activeJobMsgList() {
|
||||
this.contrData = {
|
||||
action: 14011,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session,
|
||||
limit: 20,
|
||||
contract: this.jobData.contract,
|
||||
offset: 0
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
this.wrenchService.activeJobMsgList(this.contrData).subscribe(
|
||||
msgListTotalData => {
|
||||
this.msgListTotalData = msgListTotalData;
|
||||
// console.log("REFER RETURN->", this.referTotalData);
|
||||
this.msgListData = this.msgListTotalData.result_list;
|
||||
this.msg_count = this.msgListData?.length;
|
||||
console.log("REFER RETURN DATA->", this.msgListData);
|
||||
}
|
||||
);
|
||||
|
||||
jobInterest(item){
|
||||
}
|
||||
|
||||
}
|
||||
jobInterest(item) {
|
||||
|
||||
}
|
||||
|
||||
resultText: string = '';
|
||||
|
||||
async copyThisText(textStr) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(textStr);
|
||||
this.resultText = "Copied";
|
||||
await this.presentToast("Message copied to clipboard ", "bottom");
|
||||
setTimeout(() => {
|
||||
this.resultText = ""
|
||||
}, 3000);
|
||||
console.log('Text copied to clipboard successfully!');
|
||||
} catch (err) {
|
||||
console.error('Failed to copy text: ', err);
|
||||
}
|
||||
}
|
||||
|
||||
async presentToast(amessage, position: "top" | "middle" | "bottom") {
|
||||
const toast = await this.toastController.create({
|
||||
message: amessage,
|
||||
duration: 3000,
|
||||
position: position,
|
||||
});
|
||||
|
||||
await toast.present();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
|
||||
<ion-content>
|
||||
<div class="boxed_contents">
|
||||
<div class="bg_image back_image" [style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+jobData.job_uid+')'">
|
||||
<div class="bg_image back_image"
|
||||
[style.backgroundImage]="'url('+session_image_server+'/'+curr_session+'/job/'+jobData.job_uid+')'">
|
||||
<div class="ion-padding">
|
||||
<ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>
|
||||
</div>
|
||||
@@ -22,16 +23,8 @@
|
||||
<!-- <ion-icon slot="end" name="bookmark-outline" color="primary"></ion-icon>-->
|
||||
</div>
|
||||
|
||||
<!-- <div class="row">-->
|
||||
<!-- <ion-label class="bg_text">{{jobData.contract}}</ion-label>-->
|
||||
<!-- <div class="rate">-->
|
||||
<!-- <!– <ion-icon name="star-half-outline" color="warning"></ion-icon>–>-->
|
||||
<!-- <!– <ion-label class="review"> ({{jobData.interest_count}} interest)</ion-label>–>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <ion-label class="color_text">Price: {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency}}</ion-label>-->
|
||||
<ion-label style="font-size: 16px; color: #0b5e86; font-weight: bolder;">Reward : {{jobData.price*0.01| number : '1.2-2'}} {{jobData.currency}}</ion-label>
|
||||
<ion-label style="font-size: 16px; color: #0b5e86; font-weight: bolder;">Reward
|
||||
: {{jobData.price * 0.01| number : '1.2-2'}} {{jobData.currency}}</ion-label>
|
||||
|
||||
<div class="items">
|
||||
<div class="stud">
|
||||
@@ -44,7 +37,7 @@
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
|
||||
<div *ngIf="status_description == 'ACTIVE'" >
|
||||
<div *ngIf="status_description == 'ACTIVE'">
|
||||
<ion-segment class="common_segment" [(ngModel)]="tabs">
|
||||
<ion-segment-button value="activities">
|
||||
<ion-label>Send Updates</ion-label>
|
||||
@@ -73,33 +66,35 @@
|
||||
|
||||
<div *ngIf="tabs =='activities'" class="lesson">
|
||||
<ion-card style="margin: 0px;">
|
||||
<ion-card-content style="padding: 1px;">
|
||||
<ion-card-content style="padding: 1px;">
|
||||
<ion-textarea
|
||||
style="background-color: aliceblue; margin: 0px; min-height: 120px"
|
||||
label="Your Message to Job Owner"
|
||||
placeholder="Enter your updates message here"
|
||||
[(ngModel)]='yourmessage' ></ion-textarea>
|
||||
[(ngModel)]='yourmessage'></ion-textarea>
|
||||
</ion-card-content>
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col style="text-align: left;">
|
||||
<ion-button fill="outline" size="small" color="secondary" (click)="pickFiles(100)">
|
||||
<ion-icon name="document-attach-outline"></ion-icon> Send File
|
||||
<ion-button fill="outline" size="small" color="secondary" (click)="pickFiles(100)">
|
||||
<ion-icon name="document-attach-outline"></ion-icon>
|
||||
Send File
|
||||
</ion-button>
|
||||
<!-- -->
|
||||
<!-- <ion-button fill="outline" size="small" color="secondary" (click)="startCamera(100)">-->
|
||||
<!-- <ion-icon slot="icon-only" name="camera-reverse-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
<!-- <ion-button fill="outline" size="small" style="margin-left: 10px;" (click)="startCamera(0)">-->
|
||||
<!-- <ion-icon slot="icon-only" name="folder-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
<!-- -->
|
||||
<!-- <ion-button fill="outline" size="small" color="secondary" (click)="startCamera(100)">-->
|
||||
<!-- <ion-icon slot="icon-only" name="camera-reverse-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
<!-- <ion-button fill="outline" size="small" style="margin-left: 10px;" (click)="startCamera(0)">-->
|
||||
<!-- <ion-icon slot="icon-only" name="folder-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<ion-button style="margin-left: 20px;"
|
||||
size="small"
|
||||
color="secondary"
|
||||
expand="block"
|
||||
(click)="sendActiveJobMessage()">Send Updates</ion-button>
|
||||
(click)="sendActiveJobMessage()">Send Updates
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
@@ -118,7 +113,7 @@
|
||||
<!-- <!– <ion-label class="color">See all</ion-label>–>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<ion-card style="background-color: #f4f4fb;
|
||||
<ion-card style="background-color: #f4f4fb;
|
||||
font-weight: bolder;
|
||||
color:darkblue;
|
||||
font-size: 10px;">
|
||||
@@ -126,7 +121,8 @@
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col style="font-size: 12px;">
|
||||
Checking the requirements and delivery details is essential to ensure fast approval.
|
||||
Checking the requirements and delivery details is essential to ensure fast
|
||||
approval.
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
@@ -137,7 +133,8 @@
|
||||
shape="round"
|
||||
expand="block"
|
||||
fill="solid"
|
||||
(click)="taskCompleted()">Task is Completed</ion-button>
|
||||
(click)="taskCompleted()">Task is Completed
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
@@ -149,17 +146,18 @@
|
||||
shape="round"
|
||||
fill="solid"
|
||||
(click)="taskCancel()"
|
||||
>Cancel Request</ion-button>
|
||||
>Cancel Request
|
||||
</ion-button>
|
||||
</div>
|
||||
|
||||
<!-- <div color=danger class="ion-text-wrap task_button" (click)="taskCancel()">Send cancellation request</div>-->
|
||||
<!-- <div color=danger class="ion-text-wrap task_button" (click)="taskCancel()">Send cancellation request</div>-->
|
||||
</ion-col>
|
||||
<ion-col>
|
||||
<span style="font-size: 12px; color:red;padding-top: 5px;">I am not able to perform this task.</span>
|
||||
</ion-col>
|
||||
<!-- <ion-col>-->
|
||||
<!-- <div color="secondary" class="ion-text-wrap task_button cpl" (click)="taskCompleted()">Send completion Message</div>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <div color="secondary" class="ion-text-wrap task_button cpl" (click)="taskCompleted()">Send completion Message</div>-->
|
||||
<!-- </ion-col>-->
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
|
||||
@@ -181,7 +179,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="status_description == 'PASTDUE'" >
|
||||
<div *ngIf="status_description == 'PASTDUE'">
|
||||
<ion-card color="danger">
|
||||
<ion-card-header>
|
||||
<ion-card-subtitle>Task is pat due date</ion-card-subtitle>
|
||||
@@ -191,19 +189,21 @@
|
||||
<ion-button *ngIf="jobData.ext_request==''; " color="secondary" size="small"
|
||||
shape="round"
|
||||
[disabled]="isDisabled"
|
||||
expand="block" (click)="requestExtension()">Request Extension</ion-button>
|
||||
<div *ngIf="jobData.ext_request != ''; " >You have requested extension on : {{jobData.ext_request |date}}</div>
|
||||
<div *ngIf="request_result != ''; " >{{request_result}}</div>
|
||||
expand="block" (click)="requestExtension()">Request Extension
|
||||
</ion-button>
|
||||
<div *ngIf="jobData.ext_request != ''; ">You have requested extension on
|
||||
: {{jobData.ext_request |date}}</div>
|
||||
<div *ngIf="request_result != ''; ">{{request_result}}</div>
|
||||
</ion-card-content>
|
||||
</ion-card>
|
||||
</div>
|
||||
<div *ngIf="status_description == 'REVIEW'" >
|
||||
<div *ngIf="status_description == 'REVIEW'">
|
||||
<ion-card color="success">
|
||||
<ion-card-header>
|
||||
<ion-card-subtitle>Task is in Review</ion-card-subtitle>
|
||||
</ion-card-header>
|
||||
|
||||
<ion-card-content> THis task is in review , the owner will give feedback soon. </ion-card-content>
|
||||
<ion-card-content> THis task is in review , the owner will give feedback soon.</ion-card-content>
|
||||
</ion-card>
|
||||
</div>
|
||||
<app-taskactivities [jobData]="jobData"></app-taskactivities>
|
||||
|
||||
@@ -1,197 +1,215 @@
|
||||
<ion-header class="ion-no-border">
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start" (click)="onBack()">
|
||||
<ion-button>
|
||||
<ion-icon name="arrow-back-outline"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title>Invite Friends</ion-title>
|
||||
</ion-toolbar>
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start" (click)="onBack()">
|
||||
<ion-button>
|
||||
<ion-icon name="arrow-back-outline"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title>Invite Friends</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
<ion-content class="ion-padding">
|
||||
<div class="boxed_contents">
|
||||
<div class="inv-head">Invite Friends</div>
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start">
|
||||
<ion-button style="background-color: #fcf7ee; color: black; font-size: 14px; font-weight: bolder;" (click)="setTabMode(100);">Name & Email</ion-button>
|
||||
<!-- <ion-button style="background-color: aliceblue; color: black; font-size: 14px; font-weight: bolder;" (click)="setTabMode(200);">From Contacts</ion-button>-->
|
||||
<ion-button style="background-color: #ebe4ee; color: black; font-size: 14px; font-weight: bolder;" (click)="setTabMode(300);">Links</ion-button>
|
||||
</ion-buttons>
|
||||
<div class="boxed_contents">
|
||||
<div class="inv-head">Invite Friends</div>
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start">
|
||||
<ion-button style="background-color: #fcf7ee; color: black; font-size: 14px; font-weight: bolder;"
|
||||
(click)="setTabMode(100);">Name & Email
|
||||
</ion-button>
|
||||
<!-- <ion-button style="background-color: aliceblue; color: black; font-size: 14px; font-weight: bolder;" (click)="setTabMode(200);">From Contacts</ion-button>-->
|
||||
<ion-button style="background-color: #ebe4ee; color: black; font-size: 14px; font-weight: bolder;"
|
||||
(click)="setTabMode(300);">Links
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
|
||||
<ion-buttons slot="end">
|
||||
<ion-button style="background-color: #ebe4ee; color: black; font-size: 14px; font-weight: bolder;" (click)="setTabMode(400);">Points</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
<ion-buttons slot="end">
|
||||
<ion-button style="background-color: #ebe4ee; color: black; font-size: 14px; font-weight: bolder;"
|
||||
(click)="setTabMode(400);">Points
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</ion-toolbar>
|
||||
|
||||
<div *ngIf="tabMode == 400 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px; min-height: 150px;">
|
||||
<div style="margin-top: 10px; background-color: #fcf7ee;
|
||||
<div *ngIf="tabMode == 400 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px; min-height: 150px;">
|
||||
<div style="margin-top: 10px; background-color: #fcf7ee;
|
||||
font-size: 40px;
|
||||
font-weight: bolder;
|
||||
text-align: center;
|
||||
border-radius: 10px;
|
||||
padding: 5px">
|
||||
Points : {{refer_points}}
|
||||
Points : {{refer_points}}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabMode == 100 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: #fcf7ee; border-radius: 10px; padding: 5px">
|
||||
<ion-grid style="margin: 0px; padding: 5px; background-color: #0b5e86; border-radius: 10px;">
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px 5px 0px 0px;">
|
||||
<ion-input style="background-color: white; border-radius: 5px;" type="text"
|
||||
placeholder="Firstname" maxlength="15"
|
||||
[(ngModel)]='ref_firstname'></ion-input>
|
||||
</ion-col>
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
<ion-input style="background-color: white; border-radius: 5px;" type="text"
|
||||
placeholder="Lastname" maxlength="15" [(ngModel)]='lastname'></ion-input>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
<ion-input style="background-color: white; border-radius: 5px; " type="email"
|
||||
placeholder="Email" maxlength="55" [(ngModel)]='email'></ion-input>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ion-col>
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
<ion-button
|
||||
style="font-weight: bolder;"
|
||||
shape="round"
|
||||
expand="block"
|
||||
size="small"
|
||||
color="primary"
|
||||
(click)="sendRefer()">
|
||||
Send Invite
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabMode == 100 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: #fcf7ee; border-radius: 10px; padding: 5px">
|
||||
<ion-grid style="margin: 0px; padding: 5px; background-color: #0b5e86; border-radius: 10px;">
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px 5px 0px 0px;"><ion-input style="background-color: white; border-radius: 5px;" type="text" placeholder="Firstname" maxlength="15" [(ngModel)]='ref_firstname'></ion-input></ion-col>
|
||||
<ion-col style="margin: 0px; padding: 0px;"><ion-input style="background-color: white; border-radius: 5px;" type="text" placeholder="Lastname" maxlength="15" [(ngModel)]='lastname'></ion-input></ion-col>
|
||||
</ion-row>
|
||||
<div style="padding: 10px 10px 0px 10px;">
|
||||
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
<ion-input style="background-color: white; border-radius: 5px; " type="email" placeholder="Email" maxlength="55" [(ngModel)]='email'></ion-input>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row style="margin: 0px; padding: 10px 0px; font-size: 12px">
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
</div>
|
||||
|
||||
</ion-col>
|
||||
<ion-col style="margin: 0px; padding: 0px;">
|
||||
<ion-button
|
||||
style="font-weight: bolder;"
|
||||
shape="round"
|
||||
expand="block"
|
||||
size="small"
|
||||
color="primary"
|
||||
(click)="sendRefer()">
|
||||
Send Invite
|
||||
</ion-button>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="padding: 10px 10px 0px 10px;">
|
||||
<div *ngIf="tabMode == 200 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: aliceblue; min-height: 150px; border-radius: 10px;">
|
||||
<ion-grid>
|
||||
<ion-row style="padding: 0px; margin: 0px;">
|
||||
<ion-col style="padding: 0px; margin: 0px;">
|
||||
<ion-searchbar animated="true" placeholder="Search Contacts"
|
||||
style="margin: 0px;"></ion-searchbar>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
<ion-col>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabMode == 200 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="background-color: white; padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: aliceblue; min-height: 150px; border-radius: 10px;">
|
||||
<ion-grid>
|
||||
<ion-row style="padding: 0px; margin: 0px;">
|
||||
<ion-col style="padding: 0px; margin: 0px;">
|
||||
<ion-searchbar animated="true" placeholder="Search Contacts" style="margin: 0px;"></ion-searchbar>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
<ion-col>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
<div style="padding:10px 10px 0px 10px;">
|
||||
<ion-button (click)="refreshContacts()"
|
||||
shape="round"
|
||||
expand="block"
|
||||
size="small">Refresh Contacts</ion-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="tabMode == 300 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: whitesmoke; min-height: 100px; border-radius: 10px;">
|
||||
<ion-grid style="background-color: #0b5e86;border-radius: 10px;">
|
||||
<ion-row>
|
||||
<ion-col style="text-align: left; color: #ffffff; font-size: 12px;">
|
||||
Send your link to your email and share it with your friend; any signup will automatically link to your account for points.
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row style="padding: 0; margin: 0;">
|
||||
<ion-col style="padding: 0; margin: 0;">
|
||||
|
||||
<ion-textarea label="Refer Link"
|
||||
style="min-height: 70px; background-color: white; font-size: 12px; font-weight: bolder; text-align: center;"
|
||||
maxlength="1440"
|
||||
labelPlacement="floating"
|
||||
[(ngModel)]="refer_link"
|
||||
value={{refer_link}}
|
||||
placeholder="Refer Link">
|
||||
</ion-textarea>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
<ion-row style="padding: 0; margin: 0;">
|
||||
<ion-col style="padding: 0; margin: 0;">
|
||||
|
||||
<ion-toolbar style="font-size: 12px;">
|
||||
<ion-buttons slot="secondary">
|
||||
<ion-button fill="solid" (click)="sendToMyEmail()" style="font-size: 12px;" >
|
||||
<ion-icon slot="start" name="person-circle"></ion-icon>
|
||||
Send link to my email
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
</div>
|
||||
<div style="padding:10px 10px 0px 10px;">
|
||||
<ion-button (click)="refreshContacts()"
|
||||
shape="round"
|
||||
expand="block"
|
||||
size="small">Refresh Contacts
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="primary">
|
||||
<ion-button fill="solid" style="font-size: 12px;" (click)="copyTextToClipboard(refer_link)">
|
||||
Copy
|
||||
<ion-icon slot="end" name="help-circle"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title>{{resultText}}</ion-title>
|
||||
</ion-toolbar>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
</ion-grid>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div style="padding: 10px 10px 0px 10px;">-->
|
||||
<!-- <ion-button (click)="sendtoMyEmail()"-->
|
||||
<!-- shape="round"-->
|
||||
<!-- expand="block"-->
|
||||
<!-- size="small">Send to my Email</ion-button>-->
|
||||
<!-- </div>-->
|
||||
<div *ngIf="tabMode == 300 " class="lesson">
|
||||
<div class="ion-padding" slot="content" style="padding: 5px">
|
||||
<div style="margin-top: 10px; background-color: whitesmoke; min-height: 100px; border-radius: 10px;">
|
||||
<ion-grid style="background-color: #0b5e86;border-radius: 10px;">
|
||||
<ion-row>
|
||||
<ion-col style="text-align: left; color: #ffffff; font-size: 12px;">
|
||||
Send your link to your email and share it with your friend; any signup will
|
||||
automatically link to your account for points.
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
<ion-row style="padding: 0; margin: 0;">
|
||||
<ion-col style="padding: 0; margin: 0;">
|
||||
|
||||
<ion-textarea label="Refer Link"
|
||||
style="min-height: 70px; background-color: white; font-size: 12px; font-weight: bolder; text-align: center;"
|
||||
maxlength="1440"
|
||||
labelPlacement="floating"
|
||||
[(ngModel)]="refer_link"
|
||||
value={{refer_link}}
|
||||
placeholder="Refer Link">
|
||||
</ion-textarea>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
<ion-row style="padding: 0; margin: 0;">
|
||||
<ion-col style="padding: 0; margin: 0;">
|
||||
|
||||
<ion-toolbar style="font-size: 12px;">
|
||||
<ion-buttons slot="secondary">
|
||||
<ion-button fill="solid" (click)="sendToMyEmail()" style="font-size: 12px;">
|
||||
<ion-icon slot="start" name="person-circle"></ion-icon>
|
||||
Send link to my email
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-buttons slot="primary">
|
||||
<ion-button fill="solid" style="font-size: 12px;"
|
||||
(click)="copyTextToClipboard(refer_link)">
|
||||
Copy
|
||||
<ion-icon slot="end" name="help-circle"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title style="font-size: 10px; font-weight: normal;">{{resultText}}</ion-title>
|
||||
</ion-toolbar>
|
||||
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
||||
</ion-grid>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- <div style="padding: 10px 10px 0px 10px;">-->
|
||||
<!-- <ion-button (click)="sendtoMyEmail()"-->
|
||||
<!-- shape="round"-->
|
||||
<!-- expand="block"-->
|
||||
<!-- size="small">Send to my Email</ion-button>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
</div>
|
||||
<div style="text-align: right; z-index: 0; ">
|
||||
</div>
|
||||
<div style="text-align: right; z-index: 0; ">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="lesson" style="background-color: white; padding: 5px;">
|
||||
<div style="flex-direction: column;">
|
||||
<div class="inv-head">Previous Invitations</div>
|
||||
<div style="font-size: 10px;">Uncompleted signup will be removed automatically after 7 days</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="video" *ngFor="let item of referData;">
|
||||
<div class="left">
|
||||
<div class="bg_image back_image"
|
||||
[style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/invite-friend.svg)'"></div>
|
||||
<div class="text">
|
||||
<div class="bold_text">{{item.firstname}} {{item.lastname}} </div>
|
||||
<div class="email_msg_text"> {{item.email}}</div>
|
||||
<ion-label class="due_date">{{item.added_date}} - {{item.status}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="lesson" style="background-color: white; padding: 5px;">
|
||||
<div style="flex-direction: column;">
|
||||
<div class="inv-head">Previous Invitations</div>
|
||||
<div style="font-size: 10px;">Uncompleted signup will be removed automatically after 7 days</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="video" *ngFor="let item of referData;" >
|
||||
<div class="left">
|
||||
<div class="bg_image back_image" [style.backgroundImage]="'url(https://www.wrenchboard.com/assets/images/apps/invite-friend.svg)'"></div>
|
||||
<div class="text">
|
||||
<div class="bold_text" >{{item.firstname}} {{item.lastname}} </div>
|
||||
<div class="email_msg_text"> {{item.email}}</div>
|
||||
<ion-label class="due_date">{{item.added_date}} - {{item.status}}</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</ion-content>
|
||||
|
||||
@@ -167,9 +167,16 @@ export class InvitePage implements OnInit {
|
||||
action: number, member_id: number, uid: string, sessionid: string, refer_link: string
|
||||
};
|
||||
|
||||
copyMessage = ""
|
||||
|
||||
async copyTextToClipboard(linkToCopy) {
|
||||
try {
|
||||
await navigator.clipboard.writeText(linkToCopy);
|
||||
this.resultText = "Copied";
|
||||
|
||||
setTimeout(() => {
|
||||
this.resultText = ""
|
||||
}, 3000);
|
||||
console.log('Text copied to clipboard successfully!');
|
||||
} catch (err) {
|
||||
console.error('Failed to copy text: ', err);
|
||||
|
||||
@@ -1,175 +1,54 @@
|
||||
<ion-header mode="ios" class="ion-no-border">
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start" (click)="onBack()">
|
||||
<ion-button>
|
||||
<ion-icon name="arrow-back-outline"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title>Offers</ion-title>
|
||||
</ion-toolbar>
|
||||
<ion-toolbar>
|
||||
<ion-buttons slot="start" (click)="onBack()">
|
||||
<ion-button>
|
||||
<ion-icon name="arrow-back-outline"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<ion-title>Offers</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
|
||||
|
||||
<ion-content>
|
||||
<div class="boxed_contents">
|
||||
<div class="ion-padding">
|
||||
<!-- <div class="flex hdt">-->
|
||||
<!-- <ion-label class="bold_text">You have {{total_offers}} Offer(s)</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="flex hdt">-->
|
||||
<!-- <ion-label class="bold_text">You have {{total_offers}} Offer(s)</ion-label>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<app-offers-received
|
||||
[showCount]="showCount"
|
||||
[noLimit]="noLimit" >
|
||||
[noLimit]="noLimit">
|
||||
</app-offers-received>
|
||||
|
||||
|
||||
<!-- <div *ngIf="total_offers>3;">-->
|
||||
<!-- <ion-accordion-group>-->
|
||||
<!-- <ion-accordion *ngFor="let item of myOffersData" value="{{item.offer_uid}}">-->
|
||||
<!-- <ion-item slot="header" color="light">-->
|
||||
<!-- <ion-label>{{item.title}}</ion-label>-->
|
||||
<!-- </ion-item>-->
|
||||
<!-- <div class="ion-padding" slot="content">-->
|
||||
<!-- <div class="offers_div">-->
|
||||
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <img class="offer_banner" alt="{{item.title}}" src="{{session_image_server+'/'+curr_session+'/job/'+item.job_uid}}" />-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <div>-->
|
||||
<!-- <div class="offer_title">{{item.title}}</div>-->
|
||||
<!-- <div class="expire">Expiration : {{item.expire | date}}</div>-->
|
||||
<!-- <div class="price">Price : {{item.price*0.01| number : '1.2-2'}} {{item.currency}}</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="detail_txt">-->
|
||||
<!-- {{(item.job_description.length<95)? item.job_description :item.job_description.substring(0,95)+'...' }}-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-grid class="action_area">-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestReject(item)" color="danger" fill="solid" shape="round">Reject</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestStart(item)" color="success" fill="solid" shape="round">Start Now</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
|
||||
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </ion-accordion>-->
|
||||
<!-- </ion-accordion-group>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div *ngIf="total_offers>0 && total_offers<4;">-->
|
||||
<!-- <div *ngFor="let item of myOffersData">-->
|
||||
<!-- <div class="offers_div">-->
|
||||
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <img class="offer_banner" alt="{{item.title}}" src="{{session_image_server+'/'+curr_session+'/job/'+item.job_uid}}" />-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <div>-->
|
||||
<!-- <div class="offer_title">{{item.title}}</div>-->
|
||||
<!-- <div class="expire">Expiration : {{item.expire | date}}</div>-->
|
||||
<!-- <div class="price">Price : {{item.price*0.01| number : '1.2-2'}} {{item.currency}}</div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<!-- <div class="detail_txt">-->
|
||||
<!-- {{(item.job_description.length<95)? item.job_description :item.job_description.substring(0,95)+'...' }}-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-grid class="action_area">-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestReject(item)" color="danger" fill="solid" shape="round">Reject</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestStart(item)" color="success" fill="solid" shape="round">Start Now</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
|
||||
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<div class="lesson" *ngIf="active_job_count > 0 ">
|
||||
<div style="font-weight: bolder">
|
||||
Current Active Task
|
||||
</div>
|
||||
<div class="video" *ngFor="let item of jobsData;" (click)="activeTaskSelected(item)">
|
||||
<!-- <div class="video" *ngFor="let item of jobsData;" (click)="viewMarketItem( item )">-->
|
||||
<div class="left">
|
||||
<div class="text">
|
||||
<div class="bold_text">{{(item.title.length > 55) ? item.title.substring(0, 54) + "..." : item.title }}</div>
|
||||
<ion-label class="price_line"><span
|
||||
style="color: #0b5e86; font-weight: bolder;"> Reward :</span>
|
||||
{{item.price * 0.01| number : '1.2-2'}} {{item.currency_code}} </ion-label>
|
||||
<ion-label class="due_date"><span
|
||||
style="color: #0b5e86; font-weight: bolder;"> Timeline : </span> {{item.timeline_days}}
|
||||
days
|
||||
</ion-label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ion-icon name="chevron-forward-outline" color="medium"></ion-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="top_banner">-->
|
||||
<!--<!– <img class="offer_banner" alt="{{item.title}}" src="https://www.wrenchboard.com/assets/images/apps/offerslist/{{item.banner}}" />–>-->
|
||||
<!-- <img class="offer_banner" alt="{{item.title}}" src="{{session_image_server+'/'+curr_session+'/job/'+item.job_uid}}" />-->
|
||||
|
||||
<!-- </div>-->
|
||||
<!-- <ion-card-header>-->
|
||||
<!-- <ion-card-title class="offer_title">{{item.title}}</ion-card-title>-->
|
||||
<!-- <ion-card-subtitle>Expiration:{{item.expire | date}}</ion-card-subtitle>-->
|
||||
<!-- </ion-card-header>-->
|
||||
|
||||
<!-- <ion-card-content>-->
|
||||
<!-- {{item.job_description}}-->
|
||||
<!-- </ion-card-content>-->
|
||||
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestReject(item)" color="danger" fill="outline">Reject</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col>-->
|
||||
<!-- <ion-button size="small" (click)="requestStart(item)" color="success" fill="outline">Start Now</ion-button>-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
<!-- <div class="bg_image back_image" [style.backgroundImage]="'url(assets/images/p4.jpg)'">-->
|
||||
<!-- <div class="ion-padding">-->
|
||||
<!-- <ion-icon slot="start" name="arrow-back" class="back" (click)="onBack()"></ion-icon>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
|
||||
|
||||
</ion-content>
|
||||
|
||||
<!--<ion-footer>-->
|
||||
<!-- <ion-toolbar>-->
|
||||
<!-- <div class="button" (click)="onBack()">-->
|
||||
<!-- <ion-label class="text">Return</ion-label>-->
|
||||
<!-- </div>-->
|
||||
<!-- </ion-toolbar>-->
|
||||
<!--</ion-footer>-->
|
||||
|
||||
@@ -1,172 +1,193 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import {Component, OnInit} from '@angular/core';
|
||||
import {AlertController, LoadingController, NavController} from "@ionic/angular";
|
||||
import {Router} from "@angular/router";
|
||||
import { WrenchService } from 'src/app/services/wrench.service';
|
||||
import {WrenchService} from 'src/app/services/wrench.service';
|
||||
import {SessionDataProviderService} from "../../store/session-data-provider.service";
|
||||
import {TasksDataService} from "../../store/tasks-data.service";
|
||||
|
||||
@Component({
|
||||
selector: 'app-joboffers',
|
||||
templateUrl: './joboffers.page.html',
|
||||
styleUrls: ['./joboffers.page.scss'],
|
||||
selector: 'app-joboffers',
|
||||
templateUrl: './joboffers.page.html',
|
||||
styleUrls: ['./joboffers.page.scss'],
|
||||
})
|
||||
export class JoboffersPage implements OnInit {
|
||||
|
||||
noLimit:boolean=true;
|
||||
showCount:boolean=true;
|
||||
noLimit: boolean = true;
|
||||
showCount: boolean = true;
|
||||
active_job_count: number = 0;
|
||||
tabs = 'about';
|
||||
jobsData: [];
|
||||
session_image_server: string = '';
|
||||
curr_session: string = '';
|
||||
|
||||
tabs = 'about';
|
||||
constructor(
|
||||
private navctr: NavController,
|
||||
private router: Router,
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
private alertController: AlertController,
|
||||
private wrenchService: WrenchService,
|
||||
private loadingCtrl: LoadingController,
|
||||
public tasksDataService: TasksDataService,
|
||||
) {
|
||||
this.active_job_count = this.tasksDataService.active_job_count;
|
||||
this.jobsData = this.tasksDataService.jobsData;
|
||||
this.session_image_server = this.tasksDataService.session_image_server;
|
||||
this.curr_session = this.sessionDataProviderService.session;
|
||||
}
|
||||
|
||||
constructor(
|
||||
private navctr: NavController,
|
||||
private router: Router,
|
||||
public sessionDataProviderService: SessionDataProviderService,
|
||||
private alertController:AlertController,
|
||||
private wrenchService: WrenchService,
|
||||
private loadingCtrl: LoadingController
|
||||
) { }
|
||||
ngOnInit() {
|
||||
|
||||
ngOnInit() {
|
||||
const offer_refresh = new CustomEvent("force-offers-refresh", {
|
||||
detail: {
|
||||
offers: this.myOffersData
|
||||
}
|
||||
});
|
||||
dispatchEvent(offer_refresh);
|
||||
|
||||
const offer_refresh = new CustomEvent("force-offers-refresh", {detail: {
|
||||
offers: this.myOffersData
|
||||
}});
|
||||
dispatchEvent(offer_refresh);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
onBack() {
|
||||
this.navctr.back();
|
||||
}
|
||||
onBack() {
|
||||
this.navctr.back();
|
||||
}
|
||||
|
||||
onMentor() {
|
||||
this.router.navigate(['mentor']);
|
||||
}
|
||||
onMentor() {
|
||||
this.router.navigate(['mentor']);
|
||||
}
|
||||
|
||||
onEnroll() {
|
||||
this.router.navigate(['enroll']);
|
||||
}
|
||||
onEnroll() {
|
||||
this.router.navigate(['enroll']);
|
||||
}
|
||||
|
||||
session_image_server:string='';
|
||||
curr_session:string='';
|
||||
//
|
||||
usrData: {
|
||||
action:number, member_id: number, uid: string,
|
||||
sessionid: string,
|
||||
limit:20,
|
||||
page:1, offset:number
|
||||
};
|
||||
total_offers:number = 0;
|
||||
myOffersTotalData:any;
|
||||
myOffersData: [];
|
||||
async getMyOffersData(){
|
||||
this.usrData = {action:15010,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session ,
|
||||
limit:20, page:1,offset: 0}
|
||||
|
||||
this.curr_session = this.sessionDataProviderService.session;
|
||||
this.wrenchService.getMyOffers(this.usrData).subscribe(
|
||||
myOffersTotalData => {
|
||||
this.myOffersTotalData = myOffersTotalData;
|
||||
this.session_image_server = this.myOffersTotalData.session_image_server;
|
||||
console.log("myOffersTotalData RETURN->", this.myOffersTotalData);
|
||||
this.myOffersData = this.myOffersTotalData.result_list;
|
||||
console.log("myOffersData RETURN DATA->", this.myOffersData);
|
||||
this.total_offers = this.myOffersData.length;
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
async requestStart(item) {
|
||||
const alert = await this.alertController.create({
|
||||
header: "Ready to start",
|
||||
message: "You will start the task now, offer shall be completed in allocated timeline.",
|
||||
buttons: [
|
||||
{
|
||||
text: "Cancel",
|
||||
role: "cancel",
|
||||
handler: () => {
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "Start Now",
|
||||
handler: () => {
|
||||
this.sendOfferResponse(item, 100);
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
await alert.present();
|
||||
}
|
||||
|
||||
async requestReject(item) {
|
||||
const alert = await this.alertController.create({
|
||||
header: "Confirm Reject",
|
||||
message: "This task will go away, you dont have to do anything.",
|
||||
buttons: [
|
||||
{
|
||||
text: "Cancel",
|
||||
role: "cancel",
|
||||
handler: () => {
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "Reject",
|
||||
handler: () => {
|
||||
this.sendOfferResponse(item, 333);
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
await alert.present();
|
||||
}
|
||||
|
||||
responseData: {
|
||||
action:number,
|
||||
member_id: number,
|
||||
uid: string,
|
||||
sessionid: string,
|
||||
offer_result:number,
|
||||
contract:string,
|
||||
offer_code:string
|
||||
};
|
||||
/*
|
||||
'offer_result' => int 100
|
||||
'offer_code' => string 'W047P6BRRQ' (length=10)
|
||||
'contract' => string 'W047P6BRRQ' (length=10)
|
||||
*/
|
||||
|
||||
offerRespData:any;
|
||||
// offferResponse(respData)
|
||||
async sendOfferResponse(item, respType){
|
||||
const loading = await this.loadingCtrl.create({
|
||||
message: 'Processing',
|
||||
duration: 3000,
|
||||
});
|
||||
this.responseData = {
|
||||
action:15010,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session ,
|
||||
offer_result:respType,
|
||||
contract:item.contract,
|
||||
offer_code: item.contract
|
||||
// session_image_server: string = '';
|
||||
// curr_session: string = '';
|
||||
//
|
||||
usrData: {
|
||||
action: number, member_id: number, uid: string,
|
||||
sessionid: string,
|
||||
limit: 20,
|
||||
page: 1, offset: number
|
||||
};
|
||||
loading.present();
|
||||
this.wrenchService.offferResponse(this.responseData).subscribe(
|
||||
offerRespData => {
|
||||
this.offerRespData = offerRespData;
|
||||
console.log("offerRespData RETURN->", this.offerRespData);
|
||||
this.getMyOffersData();
|
||||
total_offers: number = 0;
|
||||
myOffersTotalData: any;
|
||||
myOffersData: [];
|
||||
|
||||
async getMyOffersData() {
|
||||
this.usrData = {
|
||||
action: 15010,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session,
|
||||
limit: 20, page: 1, offset: 0
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
this.curr_session = this.sessionDataProviderService.session;
|
||||
this.wrenchService.getMyOffers(this.usrData).subscribe(
|
||||
myOffersTotalData => {
|
||||
this.myOffersTotalData = myOffersTotalData;
|
||||
this.session_image_server = this.myOffersTotalData.session_image_server;
|
||||
console.log("myOffersTotalData RETURN->", this.myOffersTotalData);
|
||||
this.myOffersData = this.myOffersTotalData.result_list;
|
||||
console.log("myOffersData RETURN DATA->", this.myOffersData);
|
||||
this.total_offers = this.myOffersData.length;
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
async requestStart(item) {
|
||||
const alert = await this.alertController.create({
|
||||
header: "Ready to start",
|
||||
message: "You will start the task now, offer shall be completed in allocated timeline.",
|
||||
buttons: [
|
||||
{
|
||||
text: "Cancel",
|
||||
role: "cancel",
|
||||
handler: () => {
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "Start Now",
|
||||
handler: () => {
|
||||
this.sendOfferResponse(item, 100);
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
await alert.present();
|
||||
}
|
||||
|
||||
async requestReject(item) {
|
||||
const alert = await this.alertController.create({
|
||||
header: "Confirm Reject",
|
||||
message: "This task will go away, you dont have to do anything.",
|
||||
buttons: [
|
||||
{
|
||||
text: "Cancel",
|
||||
role: "cancel",
|
||||
handler: () => {
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
{
|
||||
text: "Reject",
|
||||
handler: () => {
|
||||
this.sendOfferResponse(item, 333);
|
||||
this.getMyOffersData();
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
await alert.present();
|
||||
}
|
||||
|
||||
responseData: {
|
||||
action: number,
|
||||
member_id: number,
|
||||
uid: string,
|
||||
sessionid: string,
|
||||
offer_result: number,
|
||||
contract: string,
|
||||
offer_code: string
|
||||
};
|
||||
/*
|
||||
'offer_result' => int 100
|
||||
'offer_code' => string 'W047P6BRRQ' (length=10)
|
||||
'contract' => string 'W047P6BRRQ' (length=10)
|
||||
*/
|
||||
|
||||
offerRespData: any;
|
||||
|
||||
// offferResponse(respData)
|
||||
async sendOfferResponse(item, respType) {
|
||||
const loading = await this.loadingCtrl.create({
|
||||
message: 'Processing',
|
||||
duration: 3000,
|
||||
});
|
||||
this.responseData = {
|
||||
action: 15010,
|
||||
member_id: this.sessionDataProviderService.member_id,
|
||||
uid: this.sessionDataProviderService.member_uid,
|
||||
sessionid: this.sessionDataProviderService.session,
|
||||
offer_result: respType,
|
||||
contract: item.contract,
|
||||
offer_code: item.contract
|
||||
};
|
||||
loading.present();
|
||||
this.wrenchService.offferResponse(this.responseData).subscribe(
|
||||
offerRespData => {
|
||||
this.offerRespData = offerRespData;
|
||||
console.log("offerRespData RETURN->", this.offerRespData);
|
||||
this.getMyOffersData();
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
activeTaskSelected(item) {
|
||||
this.router.navigate(["activetask"], {state: item});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+195
-192
@@ -1,206 +1,209 @@
|
||||
<ion-content class="no-scroll" style="padding: 0">
|
||||
<div class="start-pages">
|
||||
<div class="page_logo">
|
||||
<img alt="WrenchBoard" src="/assets/images/wrenchboard-line.png" />
|
||||
</div>
|
||||
<div *ngIf="loginType==='normal';">
|
||||
<div class="ion-padding space">
|
||||
<div>
|
||||
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
|
||||
<div class="start-pages">
|
||||
<div class="page_logo">
|
||||
<img alt="WrenchBoard" src="/assets/images/wrenchboard-line.png"/>
|
||||
</div>
|
||||
<div *ngIf="loginType==='normal';">
|
||||
<div class="ion-padding space">
|
||||
<div>
|
||||
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
|
||||
|
||||
<div class="boxed_contents">
|
||||
<div class="boxed_contents">
|
||||
|
||||
|
||||
<div class="login_box">
|
||||
<ion-label
|
||||
style="padding-top: 2px; padding-bottom: 10px"
|
||||
class="simp_lbl"
|
||||
>Welcome back</ion-label
|
||||
>
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="mail-outline"></ion-icon>
|
||||
<ion-input
|
||||
class="login_entry"
|
||||
(ionChange)="refreshBut()"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
maxlength="35"
|
||||
[(ngModel)]="username"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
<div class="login_box">
|
||||
<ion-label
|
||||
style="padding-top: 2px; padding-bottom: 10px"
|
||||
class="simp_lbl"
|
||||
>Welcome back
|
||||
</ion-label
|
||||
>
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="mail-outline"></ion-icon>
|
||||
<ion-input
|
||||
class="login_entry"
|
||||
(ionChange)="refreshBut()"
|
||||
type="email"
|
||||
placeholder="Email"
|
||||
maxlength="35"
|
||||
[(ngModel)]="username"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
|
||||
<ion-input
|
||||
class="login_entry"
|
||||
(ionChange)="refreshBut()"
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
maxlength="15"
|
||||
[(ngModel)]="password"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
|
||||
<ion-input
|
||||
class="login_entry"
|
||||
(ionChange)="refreshBut()"
|
||||
type="password"
|
||||
placeholder="Password"
|
||||
maxlength="15"
|
||||
[(ngModel)]="password"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<div class="check" style="padding-left: 35px">
|
||||
<ion-checkbox mode="md" checked></ion-checkbox>
|
||||
<ion-label>Remember me</ion-label>
|
||||
</div>
|
||||
<div style="margin-left: 55px">
|
||||
<ion-button
|
||||
size="small"
|
||||
shape="round"
|
||||
expand="block"
|
||||
(click)="startLogin()"
|
||||
[disabled]="isDisabled"
|
||||
<div class="check" style="padding-left: 35px">
|
||||
<ion-checkbox mode="md" checked></ion-checkbox>
|
||||
<ion-label>Remember me</ion-label>
|
||||
</div>
|
||||
<div style="margin-left: 55px">
|
||||
<ion-button
|
||||
size="small"
|
||||
shape="round"
|
||||
expand="block"
|
||||
(click)="startLogin()"
|
||||
[disabled]="isDisabled"
|
||||
>
|
||||
<span style="font-weight: bolder;">Login</span>
|
||||
</ion-button>
|
||||
</div>
|
||||
<div style="color: red;">{{login_response}}</div>
|
||||
</div>
|
||||
<ion-label class="forgot_lbl" (click)="onForgot()"
|
||||
>Forgot your password ?
|
||||
</ion-label
|
||||
>
|
||||
<div *ngIf="showSocial == true ">
|
||||
<ion-label class="or">Or Continue With</ion-label>
|
||||
<div class="button">
|
||||
<ion-buttons>
|
||||
<ion-button (click)="onLoginFacebook()">
|
||||
<ion-icon name="logo-facebook"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
|
||||
<ion-buttons>
|
||||
<ion-button (click)="onLoginGoogle()">
|
||||
<ion-icon name="logo-google"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
|
||||
<ion-buttons *ngIf="ios">
|
||||
<ion-button (click)="onLoginApple()">
|
||||
<ion-icon name="logo-apple"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<ion-label class="last_lbl"
|
||||
>Don't have an account?
|
||||
<span (click)="onRegister()">Sign up</span></ion-label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<ion-label class="last_lbl"
|
||||
>
|
||||
<span (click)="familyLogin()">Family Login</span></ion-label
|
||||
>
|
||||
Login
|
||||
</ion-button>
|
||||
</div>
|
||||
<div style="color: red;">{{login_response}}</div>
|
||||
</div>
|
||||
<ion-label class="forgot_lbl" (click)="onForgot()"
|
||||
>Forgot your password ?</ion-label
|
||||
>
|
||||
<div *ngIf="showSocial == true ">
|
||||
<ion-label class="or">Or Continue With</ion-label>
|
||||
<div class="button">
|
||||
<ion-buttons>
|
||||
<ion-button (click)="onLoginFacebook()">
|
||||
<ion-icon name="logo-facebook"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
|
||||
<ion-buttons>
|
||||
<ion-button (click)="onLoginGoogle()">
|
||||
<ion-icon name="logo-google"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
<!-- <div-->
|
||||
<!-- style="max-width: 450px; margin-left: auto; margin-right: auto"-->
|
||||
<!-- >-->
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col size="6">-->
|
||||
<!-- <ion-button-->
|
||||
<!-- fill="outline"-->
|
||||
<!-- size="large"-->
|
||||
<!-- class="scan_login_button"-->
|
||||
<!-- (click)="moveToStartScan()"-->
|
||||
<!-- >-->
|
||||
<!-- <ion-icon slot="start" name="scan"></ion-icon>-->
|
||||
<!-- Scan Login</ion-button-->
|
||||
<!-- >-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col size="6">-->
|
||||
<!-- <ion-button class="login-type22" (click)="familyLogin()">-->
|
||||
<!-- <ion-icon name="people-circle-outline"></ion-icon>-->
|
||||
<!-- <span style="margin-left: 5px"-->
|
||||
<!-- >Kids Login</span-->
|
||||
<!-- ></ion-button-->
|
||||
<!-- >-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<ion-buttons *ngIf="ios">
|
||||
<ion-button (click)="onLoginApple()">
|
||||
<ion-icon name="logo-apple"></ion-icon>
|
||||
</ion-button>
|
||||
</ion-buttons>
|
||||
</div>
|
||||
</div>
|
||||
<div *ngIf="loginType==='pending';">
|
||||
<div class="ion-padding space">
|
||||
<div>
|
||||
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
|
||||
|
||||
<div class="boxed_contents">
|
||||
<ion-label class="simp_lbl_tx">Complete your signup</ion-label>
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col size-md="3">Country</ion-col>
|
||||
<ion-col size-md="9">{{signup_country}}</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
<ion-col size-md="3">Username</ion-col>
|
||||
<ion-col size-md="9">{{signup_username}}</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
<ion-label class="or"
|
||||
>Enter Confirmation Received In Email
|
||||
</ion-label
|
||||
>
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="pin-outline"></ion-icon>
|
||||
<ion-input
|
||||
type="text"
|
||||
(ionChange)="signupVerify()"
|
||||
placeholder="Random text"
|
||||
maxlength="8"
|
||||
[(ngModel)]="random_text"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
|
||||
<ion-input
|
||||
type="password"
|
||||
(ionChange)="signupVerify()"
|
||||
placeholder="Password"
|
||||
maxlength="15"
|
||||
[(ngModel)]="signup_password"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<!-- <ion-item lines="none">-->
|
||||
<!-- <ion-icon slot="start" name="mail-outline"></ion-icon>-->
|
||||
<!-- <ion-input (ionChange)="refreshBut()" type="email" placeholder="Email" [(ngModel)]='username'></ion-input>-->
|
||||
<!-- </ion-item>-->
|
||||
|
||||
<!-- <ion-item lines="none">-->
|
||||
<!-- <ion-icon slot="start" name="lock-closed-outline"></ion-icon>-->
|
||||
<!-- <ion-input (ionChange)="refreshBut()" type="password" placeholder="Password" [(ngModel)]='password'></ion-input>-->
|
||||
<!-- </ion-item>-->
|
||||
|
||||
<ion-button
|
||||
shape="round"
|
||||
expand="block"
|
||||
color="danger"
|
||||
(click)="onCompleteProfile()"
|
||||
[disabled]="isPendingDisabled"
|
||||
>
|
||||
Complete Signup
|
||||
</ion-button>
|
||||
</div>
|
||||
|
||||
<div class="bottom pending-buttom">
|
||||
<ion-label class="last_lbl"
|
||||
>Have an account?
|
||||
<span (click)="onReturnToLogin()">Login</span></ion-label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<ion-label class="last_lbl"
|
||||
>Don't have an account?
|
||||
<span (click)="onRegister()">Sign up</span></ion-label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bottom">
|
||||
<ion-label class="last_lbl"
|
||||
>
|
||||
<span (click)="familyLogin()">Family Login</span></ion-label
|
||||
>
|
||||
</div>
|
||||
|
||||
<!-- <div-->
|
||||
<!-- style="max-width: 450px; margin-left: auto; margin-right: auto"-->
|
||||
<!-- >-->
|
||||
<!-- <ion-grid>-->
|
||||
<!-- <ion-row>-->
|
||||
<!-- <ion-col size="6">-->
|
||||
<!-- <ion-button-->
|
||||
<!-- fill="outline"-->
|
||||
<!-- size="large"-->
|
||||
<!-- class="scan_login_button"-->
|
||||
<!-- (click)="moveToStartScan()"-->
|
||||
<!-- >-->
|
||||
<!-- <ion-icon slot="start" name="scan"></ion-icon>-->
|
||||
<!-- Scan Login</ion-button-->
|
||||
<!-- >-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- <ion-col size="6">-->
|
||||
<!-- <ion-button class="login-type22" (click)="familyLogin()">-->
|
||||
<!-- <ion-icon name="people-circle-outline"></ion-icon>-->
|
||||
<!-- <span style="margin-left: 5px"-->
|
||||
<!-- >Kids Login</span-->
|
||||
<!-- ></ion-button-->
|
||||
<!-- >-->
|
||||
<!-- </ion-col>-->
|
||||
<!-- </ion-row>-->
|
||||
<!-- </ion-grid>-->
|
||||
<!-- </div>-->
|
||||
|
||||
</div>
|
||||
<div *ngIf="loginType==='pending';">
|
||||
<div class="ion-padding space">
|
||||
<div>
|
||||
<!-- <ion-label class="simp_lbl">Login to continue</ion-label>-->
|
||||
|
||||
<div class="boxed_contents">
|
||||
<ion-label class="simp_lbl_tx">Complete your signup</ion-label>
|
||||
<ion-grid>
|
||||
<ion-row>
|
||||
<ion-col size-md="3">Country</ion-col>
|
||||
<ion-col size-md="9">{{signup_country}}</ion-col>
|
||||
</ion-row>
|
||||
<ion-row>
|
||||
<ion-col size-md="3">Username</ion-col>
|
||||
<ion-col size-md="9">{{signup_username}}</ion-col>
|
||||
</ion-row>
|
||||
</ion-grid>
|
||||
<ion-label class="or"
|
||||
>Enter Confirmation Received In Email</ion-label
|
||||
>
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="pin-outline"></ion-icon>
|
||||
<ion-input
|
||||
type="text"
|
||||
(ionChange)="signupVerify()"
|
||||
placeholder="Random text"
|
||||
maxlength="8"
|
||||
[(ngModel)]="random_text"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<ion-item lines="none">
|
||||
<ion-icon slot="start" name="lock-closed-outline"></ion-icon>
|
||||
<ion-input
|
||||
type="password"
|
||||
(ionChange)="signupVerify()"
|
||||
placeholder="Password"
|
||||
maxlength="15"
|
||||
[(ngModel)]="signup_password"
|
||||
></ion-input>
|
||||
</ion-item>
|
||||
|
||||
<!-- <ion-item lines="none">-->
|
||||
<!-- <ion-icon slot="start" name="mail-outline"></ion-icon>-->
|
||||
<!-- <ion-input (ionChange)="refreshBut()" type="email" placeholder="Email" [(ngModel)]='username'></ion-input>-->
|
||||
<!-- </ion-item>-->
|
||||
|
||||
<!-- <ion-item lines="none">-->
|
||||
<!-- <ion-icon slot="start" name="lock-closed-outline"></ion-icon>-->
|
||||
<!-- <ion-input (ionChange)="refreshBut()" type="password" placeholder="Password" [(ngModel)]='password'></ion-input>-->
|
||||
<!-- </ion-item>-->
|
||||
|
||||
<ion-button
|
||||
shape="round"
|
||||
expand="block"
|
||||
color="danger"
|
||||
(click)="onCompleteProfile()"
|
||||
[disabled]="isPendingDisabled"
|
||||
>
|
||||
Complete Signup
|
||||
</ion-button>
|
||||
</div>
|
||||
|
||||
<div class="bottom pending-buttom">
|
||||
<ion-label class="last_lbl"
|
||||
>Have an account?
|
||||
<span (click)="onReturnToLogin()">Login</span></ion-label
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ion-content>
|
||||
|
||||
@@ -1,10 +1,5 @@
|
||||
<ion-header mode="ios" class="ion-no-border">
|
||||
<ion-toolbar>
|
||||
<!-- <ion-buttons slot="end">-->
|
||||
<!-- <ion-button>-->
|
||||
<!-- <ion-icon name="search-outline"></ion-icon>-->
|
||||
<!-- </ion-button>-->
|
||||
<!-- </ion-buttons>-->
|
||||
<ion-title>Wallet</ion-title>
|
||||
</ion-toolbar>
|
||||
</ion-header>
|
||||
@@ -72,11 +67,6 @@
|
||||
<!-- </ion-card>-->
|
||||
<div class="ion-padding" *ngIf="account_type=='FULL';">
|
||||
<div class="lesson">
|
||||
<!-- <div class="flex">-->
|
||||
<!-- <ion-label class="bold">Wallet(s)</ion-label>-->
|
||||
<!-- <!– <ion-label class="color">.</ion-label>–>-->
|
||||
<!-- </div>-->
|
||||
|
||||
<ion-accordion-group>
|
||||
<ion-accordion *ngFor="let item of walletData" value="{{item.wallet_uid}}">
|
||||
<ion-item class="arcord_head" slot="header" color="secondary">
|
||||
|
||||
+123
-37
@@ -49,7 +49,7 @@
|
||||
font-family: 'regular';
|
||||
}
|
||||
|
||||
.no-scroll .scroll-content{
|
||||
.no-scroll .scroll-content {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
@@ -88,24 +88,26 @@ ion-modal.custom_modal_bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.boxed_contents{
|
||||
.boxed_contents {
|
||||
//background-color: red;
|
||||
max-width: 550px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.due_date{
|
||||
.due_date {
|
||||
color: red;
|
||||
font-size: 12px;
|
||||
}
|
||||
.price_line{
|
||||
|
||||
.price_line {
|
||||
color: green;
|
||||
font-weight: bolder;
|
||||
font-size: 12px;
|
||||
}
|
||||
.balance_line{
|
||||
color:darkgreen;
|
||||
|
||||
.balance_line {
|
||||
color: darkgreen;
|
||||
font-size: 14px;
|
||||
font-weight: bolder;
|
||||
margin-left: 50px;
|
||||
@@ -114,29 +116,32 @@ ion-modal.custom_modal_bottom {
|
||||
.bold_text_red {
|
||||
font-size: 20px;
|
||||
font-family: 'bold';
|
||||
color:red;
|
||||
color: red;
|
||||
}
|
||||
.bold_text_green{
|
||||
|
||||
.bold_text_green {
|
||||
font-size: 20px;
|
||||
font-family: 'bold';
|
||||
color:green;
|
||||
color: green;
|
||||
}
|
||||
.SENDER{
|
||||
|
||||
.SENDER {
|
||||
background-color: #eaf3f6;
|
||||
margin-left: 50px;
|
||||
}
|
||||
.RECIPIENT{
|
||||
|
||||
.RECIPIENT {
|
||||
background-color: #e3f8f8;
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
.work_area{
|
||||
.work_area {
|
||||
background-color: #e9f3f6;
|
||||
padding: 10px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.page_logo{
|
||||
.page_logo {
|
||||
text-align: center;
|
||||
margin-top: 40px;
|
||||
// background-color: red;
|
||||
@@ -224,7 +229,8 @@ ion-modal.custom_modal_bottom {
|
||||
}
|
||||
}
|
||||
}
|
||||
ion-header{
|
||||
|
||||
ion-header {
|
||||
margin-top: 0px !important;
|
||||
}
|
||||
|
||||
@@ -232,41 +238,48 @@ body.scanner-active {
|
||||
--background: transparent;
|
||||
--ion-background-color: transparent;
|
||||
}
|
||||
ion-content{
|
||||
|
||||
ion-content {
|
||||
margin-top: 0px !important;
|
||||
.start-pages{
|
||||
|
||||
.start-pages {
|
||||
padding-top: 15px;
|
||||
// background-color: #3dc2ff;
|
||||
// background-color: #3dc2ff;
|
||||
background-image: linear-gradient(white, aliceblue);
|
||||
margin: 0px;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.scan_login_button{
|
||||
|
||||
.scan_login_button {
|
||||
font-size: 16px;
|
||||
font-weight: bolder;
|
||||
}
|
||||
.common_segment{
|
||||
|
||||
.common_segment {
|
||||
background-color: #3dc2ff;
|
||||
border-radius: 20px;
|
||||
font-weight: bolder;
|
||||
ion-segment-button{
|
||||
|
||||
ion-segment-button {
|
||||
border-radius: 20px;
|
||||
ion-label{
|
||||
|
||||
ion-label {
|
||||
font-weight: bolder;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.login_entry{
|
||||
.login_entry {
|
||||
background-color: white;
|
||||
border-radius: 10px;
|
||||
font-size: 14px;
|
||||
color: #052944;
|
||||
//padding: 0 10px 0 10px;
|
||||
}
|
||||
.login_box{
|
||||
|
||||
.login_box {
|
||||
padding: 10px;
|
||||
background-color: #F6F6FF;
|
||||
border-radius: 10px;
|
||||
@@ -277,6 +290,7 @@ ion-content{
|
||||
margin-right: auto;
|
||||
//font-weight: bolder;
|
||||
}
|
||||
|
||||
.simp_lbl {
|
||||
margin-top: 15px;
|
||||
font-size: 19px;
|
||||
@@ -286,6 +300,7 @@ ion-content{
|
||||
color: #0E4977;
|
||||
//font-family: 'semi-bold';
|
||||
}
|
||||
|
||||
//.simp_lbl {
|
||||
// margin-top: 20px;
|
||||
// font-size: 30px;
|
||||
@@ -293,34 +308,38 @@ ion-content{
|
||||
// margin-bottom: 30px;
|
||||
// //font-family: 'semi-bold';
|
||||
//}
|
||||
.extra_text{
|
||||
.extra_text {
|
||||
font-size: 11px;
|
||||
|
||||
margin-left: 20px;
|
||||
.title{
|
||||
|
||||
.title {
|
||||
font-weight: bolder;
|
||||
color: #030728;
|
||||
}
|
||||
}
|
||||
|
||||
.send-grid{
|
||||
.send-grid {
|
||||
background-color: #eff2f4;
|
||||
border-radius: 10px;
|
||||
font-size: 14px;
|
||||
font-weight: bolder;
|
||||
ion-select, ion-input{
|
||||
|
||||
ion-select, ion-input {
|
||||
border-radius: 10px;
|
||||
border-color: #383a3e;
|
||||
background-color: white;
|
||||
text-align: right;
|
||||
}
|
||||
.intrl{
|
||||
|
||||
.intrl {
|
||||
//text-align: right;
|
||||
//margin-top: 10px;
|
||||
color: #8b198e;
|
||||
font-weight: bolder;
|
||||
}
|
||||
.intr{
|
||||
|
||||
.intr {
|
||||
text-align: right;
|
||||
margin-top: 10px;
|
||||
color: #8b198e;
|
||||
@@ -328,24 +347,26 @@ ion-content{
|
||||
}
|
||||
}
|
||||
|
||||
.common_modal{
|
||||
.common_modal {
|
||||
background-color: aliceblue;
|
||||
max-width: 320px;
|
||||
min-width: 300px ;
|
||||
min-width: 300px;
|
||||
min-height: 490px;
|
||||
max-height: 550px;
|
||||
border-radius: 20px;
|
||||
margin: auto;
|
||||
|
||||
.modal-head{
|
||||
.modal-head {
|
||||
padding: 0px;
|
||||
height: 45px !important;
|
||||
height: 45px !important;
|
||||
color: white;
|
||||
font-weight: bolder;
|
||||
font-size: 18px;
|
||||
ion-toolbar{
|
||||
|
||||
ion-toolbar {
|
||||
height: 45px !important;
|
||||
ion-title{
|
||||
|
||||
ion-title {
|
||||
height: 45px !important;
|
||||
}
|
||||
}
|
||||
@@ -358,7 +379,72 @@ ion-backdrop {
|
||||
opacity: 0.3;
|
||||
height: auto;
|
||||
}
|
||||
.arcord_head{
|
||||
height: 45px;
|
||||
|
||||
.arcord_head {
|
||||
height: 45px;
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
|
||||
.lesson {
|
||||
margin-top: 20px;
|
||||
|
||||
.bold {
|
||||
font-family: 'semi-bold';
|
||||
}
|
||||
|
||||
.color {
|
||||
color: var(--ion-color-primary);
|
||||
}
|
||||
|
||||
.grey {
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.sec {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.back_image {
|
||||
min-width: 50px;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.video {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: white;
|
||||
padding: 15px;
|
||||
box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 10px;
|
||||
margin-top: 20px;
|
||||
|
||||
.left {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.men_image {
|
||||
height: 40px;
|
||||
width: 40px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.text {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.bold_text {
|
||||
font-size: 16px;
|
||||
font-family: 'bold';
|
||||
}
|
||||
|
||||
.grey_text {
|
||||
font-size: 14px;
|
||||
color: grey;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user