+
+
+
+
+
+
+
+
+
+
+ {{this.cruise.name}}
+
+
+
+ Location
+
+
+
+ {{this.cruise.text}}
+
+
+
+
diff --git a/src/pages/cruise/cruise.scss b/src/pages/cruise/cruise.scss
new file mode 100644
index 0000000..02c9aea
--- /dev/null
+++ b/src/pages/cruise/cruise.scss
@@ -0,0 +1,47 @@
+page-cruise {
+
+ ion-content {
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: contain;
+ }
+
+ .scroll-content {
+ overflow-y: hidden;
+ }
+
+ ion-toolbar {
+
+ .toolbar-background {
+ background-color: transparent;
+ }
+
+ .bar-button {
+ color: #ffffff;
+ }
+ }
+
+ .details {
+ background: rgba(0, 0, 0, 0.8);
+ bottom: 0;
+ height: 60px;
+ left: 0;
+ position: absolute;
+ right: 0;
+ transition: all 250ms 125ms ease-in-out;
+
+ h2 {
+ margin: 0;
+ }
+
+ .location {
+ margin-top: 1.5rem;
+ }
+
+ &.open {
+ height: 100%;
+ overflow-y: scroll;
+ padding-top: 35px;
+ }
+ }
+}
diff --git a/src/pages/cruise/cruise.ts b/src/pages/cruise/cruise.ts
new file mode 100644
index 0000000..a1d7757
--- /dev/null
+++ b/src/pages/cruise/cruise.ts
@@ -0,0 +1,81 @@
+import { Component } from '@angular/core';
+import { DomSanitizer } from '@angular/platform-browser';
+import { NavController, NavParams } from 'ionic-angular';
+
+import { LightboxPage } from '../lightbox/lightbox';
+
+@Component({
+ selector: 'page-cruise',
+ templateUrl: 'cruise.html'
+})
+export class CruisePage {
+
+ detailsOpen: boolean = false;
+ cruise: any;
+ tabNavEl: any;
+
+ constructor(public navCtrl: NavController, public navParams: NavParams, private _sanitizer: DomSanitizer) {
+ this.cruise = navParams.get('cruise');
+ this.tabNavEl = document.querySelector('#tab-nav .tabbar');
+ }
+
+ ionViewWillEnter() {
+ this.tabNavEl.style.display = 'none';
+ }
+
+ closeCruise(event) {
+ this.navCtrl.pop();
+ }
+
+ closeCruiseDetails(event) {
+ if (this.detailsOpen) {
+ this.detailsOpen = false;
+ document.getElementById('detail-overlay').classList.remove('open');
+ }
+ }
+
+ getBackground(images) {
+ // PROD: return this._sanitizer.bypassSecurityTrustStyle('url(https://appsby.fitz.guru/urge/' + images.detail + ')');
+ return this._sanitizer.bypassSecurityTrustStyle('url(' + images.detail + ')');
+ }
+
+ getFormattedCruiseAddress(location) {
+ var address = '';
+ if (location && location.address) {
+ address += location.address.street1 ? location.address.street1 + '