Files
WrenchBoardIonic2023/src/app/pages/invite/invite.page.ts
T
CHIEFSOFT\ameye 1d63ed0680 refer link
2024-12-02 11:18:23 -05:00

181 lines
5.3 KiB
TypeScript

import {Component, OnInit, ViewChild} from '@angular/core';
import {LoadingController, NavController} from "@ionic/angular";
import {Router} from "@angular/router";
import { WrenchService } from 'src/app/services/wrench.service';
import {SessionDataProviderService} from "../../store/session-data-provider.service";
//import {last} from "rxjs/operators";
import { AlertController } from '@ionic/angular';
import {ContactsDataService} from "../../store/contacts-data.service";
@Component({
selector: 'app-invite',
templateUrl: './invite.page.html',
styleUrls: ['./invite.page.scss'],
})
export class InvitePage implements OnInit {
@ViewChild('ref_firstname') ref_firstname;
@ViewChild('lastname') lastname;
@ViewChild('email') email;
tabs = 'refer';
refer_link:string = '';
refer_points:number = 0;
constructor(
private navctr: NavController,
private router: Router,
public sessionDataProviderService: SessionDataProviderService,
private wrenchService: WrenchService,
private alertController: AlertController,
private contactsDataService:ContactsDataService,
private loadingCtrl: LoadingController,
) {
this.refer_link = this.sessionDataProviderService.refer_link;
this.refer_points = this.sessionDataProviderService.refer_points;
}
referSendData: {
action:number, member_id: number, uid: string, sessionid: string, ref_firstname:string, ref_lastname:string,ref_email: string
};
sendReferResult:any;
async sendRefer(){
const loading = await this.loadingCtrl.create({
message: 'Sending ... ',
duration: 3500,
});
if (this.ref_firstname=="" || this.lastname=="" || !this.validateEmail(this.email) ){
this.showAlert('Refer Error', 'Email and names required');
return;
}
this.referSendData =
{
action:11032,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
ref_firstname:this.ref_firstname,
ref_lastname:this.lastname,
ref_email:this.email
};
loading.present();
this.wrenchService.sendRefer(this.referSendData).subscribe(
sendReferResult => {
loading.dismiss();
this.sendReferResult = sendReferResult;
if ( this.sendReferResult.internal_return == 0 ){
this.showAlert('Refer Sent', 'Message sent to '+ this.email);
this.ref_firstname=this.lastname=this.email="";
}
else {
this.showAlert('Refer Error', this.sendReferResult.status);
}
this.getReferData();
}
);
}
validateEmail(email) {
var re = /\S+@\S+\.\S+/;
return re.test(email);
}
ngOnInit() {
this.getReferData();
}
onBack() {
this.navctr.back();
}
usrData: {
action:22010, member_id: number, uid: string, sessionid: string, limit:20, page:1,offset: 0
};
referTotalData:any;
referData: [];
getReferData(){
this.usrData = {action:22010,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
limit:20, page:1,offset: 0}
this.wrenchService.referHx(this.usrData).subscribe(
referTotalData => {
this.referTotalData = referTotalData;
// console.log("REFER RETURN->", this.referTotalData);
this.referData = this.referTotalData.result_list;
console.log("REFER RETURN DATA->", this.referData);
}
);
}
async showAlert(mtitle: string, amessage: string) {
const alert = await this.alertController.create({
header: 'WrenchBoard',
subHeader: mtitle,
message: amessage,
buttons: ['OK'],
});
await alert.present();
//
// let alert = this.alertCtrl.create({
// title: mtitle,
// subTitle: amessage,
// buttons: ['OK']
// });
// alert.present();
// // alert(amessage);
}
async refreshContacts(){
const loading = await this.loadingCtrl.create({
message: 'Please wait ... ',
duration: 3500,
});
await this.contactsDataService.refeshContacts();
}
tabMode:number = 0;
setTabMode(tMode){
if (this.tabMode == tMode) tMode=0; // turn to zero
this.tabMode = tMode;
}
refLinkResult:any;
resultText:string='';
referUsrData: {
action:number, member_id: number, uid: string, sessionid: string, refer_link:string
};
async sendToMyEmail(){
//debugger;
const loading = await this.loadingCtrl.create({
message: 'Sending ... ',
duration: 3500,
});
this.referUsrData = {action:11310,
member_id: this.sessionDataProviderService.member_id,
uid: this.sessionDataProviderService.member_uid,
sessionid: this.sessionDataProviderService.session ,
refer_link: this.refer_link.split("/").pop()
}
loading.present();
this.wrenchService.sendReferLink(this.referUsrData).subscribe(
refLinkResult => {
loading.dismiss();
this.refLinkResult = refLinkResult;
this.resultText = "Referer link sent to email";
setTimeout(()=>{
this.resultText='';
}, 3000);
console.log("REFER RETURN DATA->", this.refLinkResult);
}
);
}
}