95 lines
2.4 KiB
TypeScript
95 lines
2.4 KiB
TypeScript
import { Component } from "@angular/core";
|
|
import { DomSanitizer } from "@angular/platform-browser";
|
|
import { NavController, NavParams } from "ionic-angular";
|
|
|
|
import { ChatPage } from "../chat/chat";
|
|
import { LightboxPage } from "../lightbox/lightbox";
|
|
import { ProfileService } from "../../services/profiles";
|
|
|
|
@Component({
|
|
selector: "page-profile",
|
|
templateUrl: "profile.html",
|
|
providers: [ProfileService],
|
|
})
|
|
export class ProfilePage {
|
|
detailsOpen: boolean = false;
|
|
profile: any;
|
|
tabNavEl: any;
|
|
|
|
constructor(
|
|
public navCtrl: NavController,
|
|
public navParams: NavParams,
|
|
public profileService: ProfileService,
|
|
private _sanitizer: DomSanitizer
|
|
) {
|
|
this.profile = navParams.get("profile");
|
|
this.tabNavEl = document.querySelector("#tab-nav .tabbar");
|
|
}
|
|
|
|
ionViewWillEnter() {
|
|
this.tabNavEl.style.display = "none";
|
|
}
|
|
|
|
closeProfile(event) {
|
|
this.navCtrl.pop();
|
|
}
|
|
|
|
closeProfileDetails(event) {
|
|
if (this.detailsOpen) {
|
|
this.detailsOpen = false;
|
|
document.querySelector(".profile-toolbar").classList.remove("hidden");
|
|
document.getElementById("detail-overlay").classList.remove("open");
|
|
}
|
|
}
|
|
|
|
getBackground(pics) {
|
|
return this._sanitizer.bypassSecurityTrustStyle(
|
|
"url(/assets/" + pics.detail + ")"
|
|
);
|
|
}
|
|
|
|
markFavorite(event, profile) {
|
|
console.debug("favorite profile", { event: event, profile: profile });
|
|
}
|
|
|
|
nextProfile(event) {
|
|
this.profile = this.profileService.getNextProfile(this.profile._id);
|
|
this.navCtrl.setRoot(this.navCtrl.getActive().component);
|
|
}
|
|
|
|
openChat(event, profile) {
|
|
this.navCtrl.push(ChatPage, {
|
|
profile: profile,
|
|
});
|
|
}
|
|
|
|
openProfileDetails(event) {
|
|
if (!this.detailsOpen) {
|
|
this.detailsOpen = true;
|
|
document.querySelector(".profile-toolbar").classList.add("hidden");
|
|
document.getElementById("detail-overlay").classList.add("open");
|
|
}
|
|
}
|
|
|
|
previousProfile(event) {
|
|
this.profile = this.profileService.getPreviousProfile(this.profile._id);
|
|
this.navCtrl.setRoot(this.navCtrl.getActive().component);
|
|
}
|
|
|
|
showLightbox(event, image) {
|
|
if (event.target.classList.contains("scroll-content")) {
|
|
this.navCtrl.push(LightboxPage, {
|
|
image: image,
|
|
});
|
|
}
|
|
}
|
|
|
|
toggleProfileDetails(event) {
|
|
if (!this.detailsOpen) {
|
|
this.openProfileDetails(event);
|
|
} else {
|
|
this.closeProfileDetails(event);
|
|
}
|
|
}
|
|
}
|