Browse Source

v5.0.2.3 added segment; added airport count label

master
Spencer Flagg 3 years ago
parent
commit
e1ebb5f876
11 changed files with 250 additions and 55 deletions
  1. +5
    -0
      README.md
  2. +33
    -8
      components/AirportPicker.vue
  3. +12
    -2
      components/Map.vue
  4. +39
    -23
      components/TheSideBar.vue
  5. +8
    -8
      fl-run.sh
  6. +15
    -7
      nuxt.config.js
  7. +3
    -1
      package.json
  8. +5
    -0
      pages/dates.vue
  9. +40
    -3
      pages/flights.vue
  10. +34
    -2
      pages/go.vue
  11. +56
    -1
      yarn.lock

+ 5
- 0
README.md View File

@ -1,5 +1,10 @@
# flylocal-v5-nuxt # flylocal-v5-nuxt
## Versioning Notes
5.X.X.X
revamp version . big changes . sprints . minor fixes
## Build Setup ## Build Setup
```bash ```bash

+ 33
- 8
components/AirportPicker.vue View File

@ -3,8 +3,11 @@
<!-- <pre style="position: fixed; z-index: 500; right: 0; top: 7rem; font-size: 0.6rem; color: orange;"> <!-- <pre style="position: fixed; z-index: 500; right: 0; top: 7rem; font-size: 0.6rem; color: orange;">
{{ selectedAirport }} {{ selectedAirport }}
</pre> --> </pre> -->
<label for="">
{{ leg }}
<label v-if="!origin">
start here
</label>
<label v-if="origin">
land here
</label> </label>
<v-select <v-select
:value="selectedAirportComp" :value="selectedAirportComp"
@ -16,14 +19,14 @@
> >
<template #no-options="{ search, searching }"> <template #no-options="{ search, searching }">
<template v-if="searching"> <template v-if="searching">
No results found for <em>{{ search }}</em>.
We didn't find any airports or towns called <em>{{ search }}</em>.
</template> </template>
<em
<!-- <em
v-else v-else
style="opacity: 0.5;" style="opacity: 0.5;"
> >
Start typing to search for an airport. Start typing to search for an airport.
</em>
</em> -->
</template> </template>
<template #selected-option="option"> <template #selected-option="option">
<div class="picker-item"> <div class="picker-item">
@ -68,6 +71,11 @@
v-on="events" v-on="events"
> >
</template> </template>
<template v-if="origin" #list-header>
<li class="picker-warning">
fly from <strong>{{ origin.iata }}</strong> to {{ airports.length > 1 ? "these" : "this" }} <strong>{{ airports.length }}</strong> {{ airports.length > 1 ? "airports" : "airport" }}
</li>
</template>
</v-select> </v-select>
</div> </div>
</template> </template>
@ -101,10 +109,10 @@ export default {
} }
} }
}, },
leg: {
type: [String],
origin: {
type: [Object],
default () { default () {
return ''
return null
} }
} }
}, },
@ -212,6 +220,7 @@ export default {
.picker-item__muni { .picker-item__muni {
color: #007fff; color: #007fff;
line-height: 1.1; line-height: 1.1;
font-weight: 500;
padding-top: 0.25rem; padding-top: 0.25rem;
white-space: normal; white-space: normal;
} }
@ -225,6 +234,14 @@ export default {
position: absolute; position: absolute;
} }
.vs__dropdown-option--highlight {
background: #007fff;
}
.vs__dropdown-option--highlight .picker-item__muni {
color: #eee;
}
</style> </style>
<style scoped> <style scoped>
@ -242,4 +259,12 @@ label {
font-size: 0.8rem; font-size: 0.8rem;
} }
.picker-warning {
background: hotpink;
color: white;
padding: 1rem;
font-size: 1.5rem;
pointer-events: none;
}
</style> </style>

+ 12
- 2
components/Map.vue View File

@ -178,7 +178,12 @@ export default {
], ],
options: { options: {
tap: false tap: false
}
},
// maxBounds: [
// [74.8678, -180],
// [50, -120]
// ],
// maxBoundsViscosity: 0.5
}, },
mapBoxAccessToken: 'pk.eyJ1IjoiZmx5bG9jYWwiLCJhIjoiY2t0OHUxZXB6MTVueTJ4cGVwOHRuc2s2NyJ9.YF9frLvISHfOuT7nqs3TNg', mapBoxAccessToken: 'pk.eyJ1IjoiZmx5bG9jYWwiLCJhIjoiY2t0OHUxZXB6MTVueTJ4cGVwOHRuc2s2NyJ9.YF9frLvISHfOuT7nqs3TNg',
mapBoxAttribution: 'FlyLocal | Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>', mapBoxAttribution: 'FlyLocal | Map data &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
@ -219,7 +224,12 @@ export default {
tileSize: 256, tileSize: 256,
zoomOffset: -1, zoomOffset: -1,
token: 'pk.eyJ1IjoiZmx5bG9jYWwiLCJhIjoiY2t0OHUxZXB6MTVueTJ4cGVwOHRuc2s2NyJ9.YF9frLvISHfOuT7nqs3TNg', token: 'pk.eyJ1IjoiZmx5bG9jYWwiLCJhIjoiY2t0OHUxZXB6MTVueTJ4cGVwOHRuc2s2NyJ9.YF9frLvISHfOuT7nqs3TNg',
attribution: this.mapBoxAttribution
attribution: this.mapBoxAttribution,
detectRetina: true
// bounds: [
// [74.8678, -180],
// [38.5481, -90.8789]
// ]
} }
} }
}, },

+ 39
- 23
components/TheSideBar.vue View File

@ -155,13 +155,13 @@
Up-to-date<br>Travel Info Up-to-date<br>Travel Info
</h1> </h1>
<ul class="about-carriers list-lrg"> <ul class="about-carriers list-lrg">
<li>
<a href="https://covid19.alaska.gov/travelers/">
<li @click="clickedLink('alaska-travel-info')">
<a href="https://covid19.alaska.gov/travelers/" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
:src="require(`@/assets/images/orgs/alaska-travel-info.png`)" :src="require(`@/assets/images/orgs/alaska-travel-info.png`)"
alt="Alaska Travel Info" alt="Alaska Travel Info"
travel="Alaska Travel Info"
title="Alaska Travel Info"
> >
</a> </a>
</li> </li>
@ -170,7 +170,7 @@
Explore Alaska<br>on these great local airlines Explore Alaska<br>on these great local airlines
</h1> </h1>
<ul class="about-carriers"> <ul class="about-carriers">
<li v-for="carrier in carriers" :key="carrier.id">
<li v-for="carrier in carriers" :key="carrier.id" @click="clickedCarrier(carrier.fields.Slug)">
<a :href="carrier.fields.BookingLink" target="_blank"> <a :href="carrier.fields.BookingLink" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
@ -185,8 +185,8 @@
Proud Member of Proud Member of
</h1> </h1>
<ul class="about-carriers list-med"> <ul class="about-carriers list-med">
<li>
<a href="https://alaskaaircarriers.org">
<li @click="clickedLink('aaca')">
<a href="https://alaskaaircarriers.org" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
:src="require(`@/assets/images/orgs/aaca.png`)" :src="require(`@/assets/images/orgs/aaca.png`)"
@ -195,8 +195,8 @@
> >
</a> </a>
</li> </li>
<li>
<a href="https://alaskatia.org">
<li @click="clickedLink('alaska-tia')">
<a href="https://alaskatia.org" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
:src="require(`@/assets/images/orgs/alaska-tia.png`)" :src="require(`@/assets/images/orgs/alaska-tia.png`)"
@ -210,8 +210,8 @@
Featured on Featured on
</h1> </h1>
<ul class="about-carriers list-med"> <ul class="about-carriers list-med">
<li>
<a href="https://www.1millioncups.com/anchorage/presentations/flylocal-alaska-35304">
<li @clickan class="s">="clickedLink('1-million-cups')">
<a href="https://www.1millioncups.com/anchorage/presentations/flylocal-alaska-35304" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
:src="require(`@/assets/images/orgs/1-million-cups.png`)" :src="require(`@/assets/images/orgs/1-million-cups.png`)"
@ -220,8 +220,8 @@
> >
</a> </a>
</li> </li>
<li>
<a href="https://www.travelalaska.com/offers/FlyLocal/Plane-Statewide.aspx">
<li @clickan class="s">="clickedLink('travel-alaska')">
<a href="https://www.travelalaska.com/offers/FlyLocal/Plane-Statewide.aspx" target="_blank">
<img <img
class="img--carrier-logo" class="img--carrier-logo"
style="background: black; border-radius: 0.5rem; padding-left: 0.4rem;" style="background: black; border-radius: 0.5rem; padding-left: 0.4rem;"
@ -233,12 +233,12 @@
</li> </li>
</ul> </ul>
<div class="company-footer"> <div class="company-footer">
&nbsp; FlyLocal v5.0.2.2 &nbsp;&nbsp;𐄙&nbsp;&nbsp; ©2021 FlyLocal, Inc &nbsp;
&nbsp; FlyLocal v5.0.2.3 &nbsp;&nbsp;𐄙&nbsp;&nbsp; ©2021 FlyLocal, Inc &nbsp;
</div> </div>
</div> </div>
<ul class="contact"> <ul class="contact">
<li class="contact-item">
<a href="https://twitter.com/fly_local">
<li class="contact-item" @click="clickedLink('twitter')">
<a href="https://twitter.com/fly_local" target="_blank">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-brand-twitter" class="icon icon-tabler icon-tabler-brand-twitter"
@ -259,8 +259,8 @@
<span>@fly_local</span> <span>@fly_local</span>
</a> </a>
</li> </li>
<li class="contact-item">
<a href="https://facebook.com/iFlyLocal">
<li class="contact-item" @click="clickedLink('facebook')">
<a href="https://facebook.com/iFlyLocal" target="_blank">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-brand-facebook" class="icon icon-tabler icon-tabler-brand-facebook"
@ -281,8 +281,8 @@
<span>@iFlyLocal</span> <span>@iFlyLocal</span>
</a> </a>
</li> </li>
<li class="contact-item">
<a href="https://instagram.com/fly_local">
<li class="contact-item" @click="clickedLink('instagram')">
<a href="https://instagram.com/fly_local" target="_blank">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-brand-instagram" class="icon icon-tabler icon-tabler-brand-instagram"
@ -303,8 +303,8 @@
<span>@fly_local</span> <span>@fly_local</span>
</a> </a>
</li> </li>
<li class="contact-item">
<a href="mailto:team@iflylocal.com">
<li class="contact-item" @click="clickedLink('team-email')">
<a href="mailto:team@iflylocal.com" target="_blank">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-user" class="icon icon-tabler icon-tabler-user"
@ -324,8 +324,8 @@
<span>contact us</span> <span>contact us</span>
</a> </a>
</li> </li>
<li class="contact-item">
<a href="mailto:partners@iflylocal.com">
<li class="contact-item" @clickan class="s">="clickedLink('partners-email')">
<a href="mailto:partners@iflylocal.com" target="_blank">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-briefcase" class="icon icon-tabler icon-tabler-briefcase"
@ -395,6 +395,22 @@ export default {
methods: { methods: {
showSidebar () { showSidebar () {
this.isSidebarVisible = !this.isSidebarVisible this.isSidebarVisible = !this.isSidebarVisible
if(this.isSidebarVisible) {
this.$segment.track('sidebar__show_sidebar')
} else {
this.$segment.track('sidebar__hide_sidebar')
}
},
clickedCarrier (slug) {
this.$segment.track('sidebar__open_carrier', {
carrier: slug
});
},
clickedLink (slug) {
this.$segment.track('sidebar__open_link', {
carrier: slug
});
} }
} }
} }

+ 8
- 8
fl-run.sh View File

@ -1,16 +1,16 @@
echo "*** Removing Code Directory ***"
echo -e "\r\n\r\n\e[44m *** Removing Code Directory *** \e[44m\r\n"
rm -r /usr/src/flylocal-web rm -r /usr/src/flylocal-web
echo "*** Making Code Directory ***"
echo "\r\n\r\n\e[44m *** Making Code Directory *** \e[44m\r\n"
mkdir -p /usr/src/flylocal-web mkdir -p /usr/src/flylocal-web
cd /usr/src cd /usr/src
echo "*** Getting Code from Gitea ***"
echo "\r\n\r\n\e[44m *** Getting Code from Gitea *** \e[44m\r\n"
git clone --depth 1 https://gitea.flylocal.us/spencer/flylocal-web.git git clone --depth 1 https://gitea.flylocal.us/spencer/flylocal-web.git
cd flylocal-web cd flylocal-web
echo "*** Killing Docker Containers ***"
echo "\r\n\r\n\e[44m *** Killing Docker Containers *** \e[44m\r\n"
sudo docker kill $(docker ps -q) sudo docker kill $(docker ps -q)
echo "*** Pruning Old Docker Images ***"
sudo docker image prune
echo "*** Building New Docker Image ***"
echo "\r\n\r\n\e[44m *** Pruning Old Docker Images *** \e[44m\r\n"
sudo docker system prune
echo "\r\n\r\n\e[44m *** Building New Docker Image *** \e[44m\r\n"
sudo docker build -t flylocal-web . sudo docker build -t flylocal-web .
echo "*** Running Docker Image ***"
echo "\r\n\r\n\e[44m *** Running Docker Image *** \e[44m\r\n"
sudo docker run -it -p 3000:3000 flylocal-web sudo docker run -it -p 3000:3000 flylocal-web

+ 15
- 7
nuxt.config.js View File

@ -25,10 +25,10 @@ export default {
] ]
}, },
// server: {
// host: '192.168.178.100',
// port: 3010
// },
server: (process.env.NODE_ENV !== 'production') ? {
host: '192.168.178.100',
port: 3010
} : {},
serverMiddleware: [ serverMiddleware: [
'~/middleware/redirects.js' '~/middleware/redirects.js'
@ -82,7 +82,7 @@ export default {
// Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules
buildModules: [ buildModules: [
// https://go.nuxtjs.dev/eslint // https://go.nuxtjs.dev/eslint
'@nuxtjs/eslint-module',
//'@nuxtjs/eslint-module',
// https://go.nuxtjs.dev/stylelint // https://go.nuxtjs.dev/stylelint
'@nuxtjs/stylelint-module', '@nuxtjs/stylelint-module',
// https://go.nuxtjs.dev/tailwindcss // https://go.nuxtjs.dev/tailwindcss
@ -104,7 +104,13 @@ export default {
// https://go.nuxtjs.dev/pwa // https://go.nuxtjs.dev/pwa
'@nuxtjs/pwa', '@nuxtjs/pwa',
'nuxt-leaflet', 'nuxt-leaflet',
'nuxt-vue-select'
'nuxt-vue-select',
[
'@adinvadim/nuxt-segment-analytics',
{
id: (process.env.NODE_ENV !== 'production') ? "9dEbke7oGZjUCbF01hbcycoHxrpLvVBV" : "QpcGXqVfScXUfRPbAGkbtyst6x5HNpRf",
useRouter: true
}]
], ],
// Axios module configuration: https://go.nuxtjs.dev/config-axios // Axios module configuration: https://go.nuxtjs.dev/config-axios
@ -132,5 +138,7 @@ export default {
implementation: require('sass') implementation: require('sass')
} }
} }
}
},
dev: process.env.NODE_ENV !== 'production'
} }

+ 3
- 1
package.json View File

@ -1,6 +1,6 @@
{ {
"name": "flylocal", "name": "flylocal",
"version": "5.0.2.2",
"version": "5.0.2.3",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "nuxt", "dev": "nuxt",
@ -23,6 +23,7 @@
"node-sass": "^6.0.1", "node-sass": "^6.0.1",
"nuxt": "^2.15.7", "nuxt": "^2.15.7",
"nuxt-leaflet": "^0.0.25", "nuxt-leaflet": "^0.0.25",
"nuxt-segment-analytics": "^0.0.1",
"nuxt-vue-select": "^0.1.4", "nuxt-vue-select": "^0.1.4",
"tailwindcss": "^2.2.15", "tailwindcss": "^2.2.15",
"vue-select": "^3.13.0", "vue-select": "^3.13.0",
@ -31,6 +32,7 @@
"vue2-leaflet-polylinedecorator": "^2.0.1" "vue2-leaflet-polylinedecorator": "^2.0.1"
}, },
"devDependencies": { "devDependencies": {
"@adinvadim/nuxt-segment-analytics": "^0.0.10",
"@babel/eslint-parser": "^7.14.7", "@babel/eslint-parser": "^7.14.7",
"@nuxtjs/eslint-config": "^6.0.1", "@nuxtjs/eslint-config": "^6.0.1",
"@nuxtjs/eslint-module": "^3.0.2", "@nuxtjs/eslint-module": "^3.0.2",

+ 5
- 0
pages/dates.vue View File

@ -151,6 +151,11 @@ export default {
}) })
}, },
goBack () { goBack () {
this.$segment.track('dates__go_back',{
origin: this.$route.params.o,
destination: this.$route.params.d
})
this.$router.go(-1) this.$router.go(-1)
}, },
book (schedule) { book (schedule) {

+ 40
- 3
pages/flights.vue View File

@ -48,7 +48,7 @@
<div class="row__check"> <div class="row__check">
<label class="radio radio--sched" :for="schedule.id"> <label class="radio radio--sched" :for="schedule.id">
<input :id="schedule.id" type="radio" name="schedules"> <input :id="schedule.id" type="radio" name="schedules">
<span @click="selectedSchedule = { ...schedule }">
<span @click="selectSchedule(schedule)">
<svg <svg
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
class="icon icon-tabler icon-tabler-check" class="icon icon-tabler icon-tabler-check"
@ -275,6 +275,11 @@ export default {
}) })
}, },
goBack () { goBack () {
this.$segment.track('flights__go_back', {
origin: this.$route.params.o,
destination: this.$route.params.d,
departureDate: this.$route.params.departure,
})
this.$router.go(-1) this.$router.go(-1)
}, },
// book2 (schedule) { // book2 (schedule) {
@ -287,13 +292,45 @@ export default {
// } // }
// }, // },
book () { book () {
// add tracker
this.$segment.track('flights__book', {
origin: this.selectedSchedule.fields.Origin_IATA[0],
destination: this.selectedSchedule.fields.Destination_IATA[0],
departureDate: this.$route.params.departure,
departureTime: this.selectedSchedule.fields.Departure_TimeL,
arrivalTime: this.selectedSchedule.fields.Arrival_TimeL,
numAdult: this.numAdult,
numChild: this.numChild,
carrier: this.selectedSchedule.fields.Carrier_Name
})
window.open(`https://www.anrdoezrs.net/links/100449149/type/am/https://www.expedia.com/go/flight/search/oneway/${this.$route.params.departure}/${this.$route.params.departure}?langid=1033&FromAirport=${this.selectedSchedule.fields.Origin_IATA}&FromTime=${this.selectedSchedule.fields.Departure_TimeL}&ToTime=${this.selectedSchedule.fields.Arrival_TimeL}&ToAirport=${this.selectedSchedule.fields.Destination_IATA}&Class=3&NumAdult=${this.numAdult}&NumChild=${this.numChild}`) window.open(`https://www.anrdoezrs.net/links/100449149/type/am/https://www.expedia.com/go/flight/search/oneway/${this.$route.params.departure}/${this.$route.params.departure}?langid=1033&FromAirport=${this.selectedSchedule.fields.Origin_IATA}&FromTime=${this.selectedSchedule.fields.Departure_TimeL}&ToTime=${this.selectedSchedule.fields.Arrival_TimeL}&ToAirport=${this.selectedSchedule.fields.Destination_IATA}&Class=3&NumAdult=${this.numAdult}&NumChild=${this.numChild}`)
}, },
goToCarrier () { goToCarrier () {
// add tracker
this.$segment.track('flights__open_carrier', {
origin: this.selectedSchedule.fields.Origin_IATA[0],
destination: this.selectedSchedule.fields.Destination_IATA[0],
departureDate: this.$route.params.departure,
departureTime: this.selectedSchedule.fields.Departure_TimeL,
arrivalTime: this.selectedSchedule.fields.Arrival_TimeL,
numAdult: this.numAdult,
numChild: this.numChild,
carrier: this.selectedSchedule.fields.Carrier_Name
})
window.open(this.selectedSchedule.fields['BookingLink (from Carriers_Alaska)'][0]) window.open(this.selectedSchedule.fields['BookingLink (from Carriers_Alaska)'][0])
}, },
selectSchedule (schedule) {
this.selectedSchedule = { ...schedule }
this.$segment.track('flights__select_schedule', {
origin: this.selectedSchedule.fields.Origin_IATA[0],
destination: this.selectedSchedule.fields.Destination_IATA[0],
departureDate: this.$route.params.departure,
departureTime: this.selectedSchedule.fields.Departure_TimeL,
arrivalTime: this.selectedSchedule.fields.Arrival_TimeL,
carrier: this.selectedSchedule.fields.Carrier_Name
})
},
clearSelectedSchedule () { clearSelectedSchedule () {
// console.log('clear') // console.log('clear')
this.startingDate = '' this.startingDate = ''

+ 34
- 2
pages/go.vue View File

@ -67,7 +67,6 @@
<AirportPicker <AirportPicker
:airports="airports_orig" :airports="airports_orig"
:selected-airport="selectedOrig" :selected-airport="selectedOrig"
leg="start here ►"
@select-airport="makeOrigin" @select-airport="makeOrigin"
@deselect-airport="clearOrigin" @deselect-airport="clearOrigin"
/> />
@ -75,7 +74,7 @@
v-show="selectedOrig.iata" v-show="selectedOrig.iata"
:airports="airports_dest" :airports="airports_dest"
:selected-airport="selectedDest" :selected-airport="selectedDest"
leg="land here ■"
:origin="selectedOrig"
@select-airport="makeDestination" @select-airport="makeDestination"
@deselect-airport="clearDestination" @deselect-airport="clearDestination"
/> />
@ -240,6 +239,10 @@ export default {
this.selectedDest = { ...this.emptyAirport } this.selectedDest = { ...this.emptyAirport }
this.$segment.track('go__select_orig', {
origin: airport.iata
});
history.pushState( history.pushState(
{}, {},
null, null,
@ -251,6 +254,11 @@ export default {
makeDestination (airport) { makeDestination (airport) {
this.selectedDest = { ...airport } this.selectedDest = { ...airport }
this.$segment.track('go__select_dest', {
origin: this.selectedOrig.iata,
destination: airport.iata
});
this.isPickerVisible = false this.isPickerVisible = false
history.pushState( history.pushState(
@ -260,8 +268,13 @@ export default {
) )
}, },
clearOrigin () { clearOrigin () {
this.$segment.track('go__clear_orig',{
origin: this.selectedOrig.iata
})
this.selectedOrig = { ...this.emptyAirport } this.selectedOrig = { ...this.emptyAirport }
this.selectedDest = { ...this.emptyAirport } this.selectedDest = { ...this.emptyAirport }
history.pushState( history.pushState(
{}, {},
null, null,
@ -269,7 +282,13 @@ export default {
) )
}, },
clearDestination () { clearDestination () {
this.$segment.track('go__clear_dest', {
origin: this.selectedOrig.iata,
destination: this.selectedDest.iata
})
this.selectedDest = { ...this.emptyAirport } this.selectedDest = { ...this.emptyAirport }
history.pushState( history.pushState(
{}, {},
null, null,
@ -362,9 +381,22 @@ export default {
setTimeout(function () { setTimeout(function () {
vm.$refs.mapComponent.resize() vm.$refs.mapComponent.resize()
}, 500) }, 500)
if(vm.isPickerVisible) {
this.$segment.track('go__show_picker')
} else {
this.$segment.track('go__hide_picker')
}
}, },
showSidebar () { showSidebar () {
this.isSidebarVisible = !this.isSidebarVisible this.isSidebarVisible = !this.isSidebarVisible
if(this.isSidebarVisible) {
this.$segment.track('go__show_sidebar')
} else {
this.$segment.track('go__hide_sidebar')
}
} }
} }
} }

+ 56
- 1
yarn.lock View File

@ -2,6 +2,13 @@
# yarn lockfile v1 # yarn lockfile v1
"@adinvadim/nuxt-segment-analytics@^0.0.10":
version "0.0.10"
resolved "https://registry.yarnpkg.com/@adinvadim/nuxt-segment-analytics/-/nuxt-segment-analytics-0.0.10.tgz#e3360f2d04016e0678000f8e7014e9c8a9275d38"
integrity sha512-eWY2aoPf5l6dYnqLqT4XaiV3vncGMRaKe6ebLutO41QpxTRy2s5ZR+nlIQxROZWZkV/M6gcAikLB6aKrkKi7DA==
dependencies:
vue-segment-analytics "^0.3.1"
"@babel/code-frame@7.12.11": "@babel/code-frame@7.12.11":
version "7.12.11" version "7.12.11"
resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz"
@ -4432,6 +4439,11 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
estree-walker@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4=
esutils@^2.0.2: esutils@^2.0.2:
version "2.0.3" version "2.0.3"
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
@ -6424,6 +6436,11 @@ load-json-file@^4.0.0:
pify "^3.0.0" pify "^3.0.0"
strip-bom "^3.0.0" strip-bom "^3.0.0"
load-script@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4"
integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ=
loader-runner@^2.4.0: loader-runner@^2.4.0:
version "2.4.0" version "2.4.0"
resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz" resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz"
@ -6908,7 +6925,7 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
minimatch@^3.0.4, minimatch@~3.0.2, minimatch@~3.0.4:
minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2, minimatch@~3.0.4:
version "3.0.4" version "3.0.4"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
@ -7365,6 +7382,13 @@ nuxt-leaflet@^0.0.25:
npm-publish-git-tag "^3.0.3" npm-publish-git-tag "^3.0.3"
vue2-leaflet "^2.6.0" vue2-leaflet "^2.6.0"
nuxt-segment-analytics@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/nuxt-segment-analytics/-/nuxt-segment-analytics-0.0.1.tgz#6316cb244dc3b603ea4a4d622d379c790cbf0a85"
integrity sha512-hWWClv3xixrKCiuuWnB0QCAXAIzIXP5rupr1h7oy1ExmrM69ewJvmBL/HBBHAXeuGPuQKJUp2SNSuGdpxpXTNA==
dependencies:
vue-segment-analytics "^0.3.1"
nuxt-vue-select@^0.1.4: nuxt-vue-select@^0.1.4:
version "0.1.4" version "0.1.4"
resolved "https://registry.npmjs.org/nuxt-vue-select/-/nuxt-vue-select-0.1.4.tgz" resolved "https://registry.npmjs.org/nuxt-vue-select/-/nuxt-vue-select-0.1.4.tgz"
@ -9426,6 +9450,28 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0" hash-base "^3.0.0"
inherits "^2.0.1" inherits "^2.0.1"
rollup-plugin-babel@~3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz#5b13611f1ab8922497e9d15197ae5d8a23fe3b1e"
integrity sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==
dependencies:
rollup-pluginutils "^1.5.0"
rollup-pluginutils@^1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=
dependencies:
estree-walker "^0.2.1"
minimatch "^3.0.2"
rollup@~2.52.2:
version "2.52.8"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.52.8.tgz#b6462f9c16ffe8995b9a2b313f2e4247fa75e4d9"
integrity sha512-IjAB0C6KK5/lvqzJWAzsvOik+jV5Bt907QdkQ/gDP4j+R9KYNI1tjqdxiPitGPVrWC21Mf/ucXgowUjN/VemaQ==
optionalDependencies:
fsevents "~2.3.2"
run-async@^2.4.0: run-async@^2.4.0:
version "2.4.1" version "2.4.1"
resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
@ -11101,6 +11147,15 @@ vue-router@^3.5.1:
resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz" resolved "https://registry.npmjs.org/vue-router/-/vue-router-3.5.2.tgz"
integrity sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ== integrity sha512-807gn82hTnjCYGrnF3eNmIw/dk7/GE4B5h69BlyCK9KHASwSloD1Sjcn06zg9fVG4fYH2DrsNBZkpLtb25WtaQ==
vue-segment-analytics@^0.3.1:
version "0.3.3"
resolved "https://registry.yarnpkg.com/vue-segment-analytics/-/vue-segment-analytics-0.3.3.tgz#cd5bf98c2cf854691ef89dc89a77666dcd464e08"
integrity sha512-X+BYOhAgd6c22l0Igs/KX5VWHiYwXmeeuoPBsjyxxSHHcj5DOLosxpnLdOvr3jwhABOjey5FMv2CO2IAyx21vA==
dependencies:
load-script "~1.0.0"
rollup "~2.52.2"
rollup-plugin-babel "~3.0.7"
vue-select@^3.13.0, vue-select@^3.2.0: vue-select@^3.13.0, vue-select@^3.2.0:
version "3.13.0" version "3.13.0"
resolved "https://registry.npmjs.org/vue-select/-/vue-select-3.13.0.tgz" resolved "https://registry.npmjs.org/vue-select/-/vue-select-3.13.0.tgz"

Loading…
Cancel
Save