2018-06-25 18:29:57 +02:00
|
|
|
<template>
|
|
|
|
<v-app>
|
|
|
|
<v-toolbar
|
|
|
|
app
|
|
|
|
>
|
2018-07-17 16:37:46 +02:00
|
|
|
<router-link :to="{ name: 'Map' }" class="noLinkDecoration">
|
2018-06-25 18:29:57 +02:00
|
|
|
<v-toolbar-title v-text="title" class="ma-0"></v-toolbar-title>
|
|
|
|
</router-link>
|
|
|
|
<v-spacer></v-spacer>
|
2018-07-21 20:00:37 +02:00
|
|
|
<v-menu offset-y class="menu" v-if="$route.name === 'Onboarding' || $route.name === 'Map' || $route.name === 'SharedMap'">
|
2018-07-11 01:14:54 +02:00
|
|
|
<v-btn slot="activator" icon role="button" :aria-label="$t('buttons.menu')">
|
2018-06-25 18:29:57 +02:00
|
|
|
<v-icon>more_vert</v-icon>
|
|
|
|
</v-btn>
|
|
|
|
<v-list>
|
2018-07-21 20:00:37 +02:00
|
|
|
<v-list-tile @click="isShareMapViewModalShown = true" v-if="isShareMapViewMenuEntryVisible">
|
|
|
|
<v-list-tile-title>{{ $t("menu.shareMapView") }}</v-list-tile-title>
|
2018-06-28 14:40:56 +02:00
|
|
|
</v-list-tile>
|
|
|
|
<v-list-tile @click="goToAbout">
|
|
|
|
<v-list-tile-title>{{ $t("menu.About") }}</v-list-tile-title>
|
|
|
|
</v-list-tile>
|
|
|
|
<v-list-tile @click="goToSettings">
|
|
|
|
<v-list-tile-title>{{ $t("menu.Settings") }}</v-list-tile-title>
|
2018-06-25 18:29:57 +02:00
|
|
|
</v-list-tile>
|
|
|
|
</v-list>
|
|
|
|
</v-menu>
|
2018-07-21 20:00:37 +02:00
|
|
|
<v-btn icon role="button" :aria-label="$t('buttons.back')" v-else @click="goBack">
|
|
|
|
<v-icon>arrow_back</v-icon>
|
|
|
|
</v-btn>
|
2018-07-04 18:20:28 +02:00
|
|
|
<div>
|
|
|
|
<v-progress-linear v-if="isLoading" :indeterminate="true" class="progressBar"></v-progress-linear>
|
|
|
|
</div>
|
2018-06-25 18:29:57 +02:00
|
|
|
</v-toolbar>
|
|
|
|
<v-content>
|
2018-07-21 20:00:37 +02:00
|
|
|
<ShareMapViewModal v-model="isShareMapViewModalShown"></ShareMapViewModal>
|
|
|
|
<router-view></router-view>
|
2018-06-25 18:29:57 +02:00
|
|
|
</v-content>
|
|
|
|
</v-app>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
2018-07-21 20:00:37 +02:00
|
|
|
import ShareMapViewModal from '@/components/ShareMapViewModal.vue';
|
|
|
|
|
2018-06-25 18:29:57 +02:00
|
|
|
export default {
|
2018-07-21 20:00:37 +02:00
|
|
|
components: {
|
|
|
|
ShareMapViewModal,
|
|
|
|
},
|
2018-07-04 18:20:28 +02:00
|
|
|
computed: {
|
|
|
|
isLoading() {
|
|
|
|
return this.$store.state.isLoading;
|
|
|
|
},
|
2018-07-21 20:00:37 +02:00
|
|
|
isShareMapViewMenuEntryVisible() {
|
|
|
|
return this.$store.state.map.center.every(item => item !== null);
|
|
|
|
},
|
2018-07-04 18:20:28 +02:00
|
|
|
},
|
2018-06-25 18:29:57 +02:00
|
|
|
data() {
|
|
|
|
return {
|
2018-07-21 20:00:37 +02:00
|
|
|
isShareMapViewModalShown: false,
|
|
|
|
title: "Cycl'Assist",
|
2018-06-25 18:29:57 +02:00
|
|
|
};
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
goToAbout() {
|
|
|
|
this.$router.push({ name: 'About' });
|
|
|
|
},
|
2018-07-21 20:00:37 +02:00
|
|
|
goBack() {
|
|
|
|
this.$router.go(-1);
|
2018-06-28 14:40:56 +02:00
|
|
|
},
|
|
|
|
goToSettings() {
|
|
|
|
this.$router.push({ name: 'Settings' });
|
|
|
|
},
|
2018-06-25 18:29:57 +02:00
|
|
|
},
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.menu {
|
|
|
|
z-index: 2000 !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.noLinkDecoration {
|
|
|
|
color: rgba(0, 0, 0, .87);
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
2018-07-04 18:20:28 +02:00
|
|
|
|
|
|
|
.progressBar {
|
|
|
|
margin: 0;
|
|
|
|
position: absolute;
|
|
|
|
bottom: 0;
|
|
|
|
left: 0;
|
|
|
|
}
|
2018-06-25 18:29:57 +02:00
|
|
|
</style>
|
2018-06-27 11:21:29 +02:00
|
|
|
|
|
|
|
<style>
|
2018-07-03 19:54:32 +02:00
|
|
|
body, html, .application {
|
|
|
|
height: 100%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.application--wrap {
|
|
|
|
min-height: 100% !important;
|
|
|
|
}
|
|
|
|
|
2018-06-27 11:21:29 +02:00
|
|
|
.bottom-sheet.dialog {
|
|
|
|
webkit-transition: .1s cubic-bezier(.25, .8, .5, 1);
|
|
|
|
transition: .1s cubic-bezier(.25, .8, .5, 1);
|
|
|
|
}
|
|
|
|
</style>
|