🚸 Make menu button toggle settings

This commit is contained in:
2022-05-19 23:31:12 +02:00
parent 4150766483
commit fde5a07ddf
3 changed files with 21 additions and 2 deletions

View File

@ -1,17 +1,28 @@
<script setup>
import MenuIcon from "./icons/menu-icon.vue";
import { computed } from "vue";
import { useRoute, RouterLink } from "vue-router";
import { useRoute, useRouter, RouterLink } from "vue-router";
import { lastRoute } from "../store";
const route = useRoute();
const router = useRouter();
const routeName = computed(() => route.name);
function goBack() {
if (routeName.value != "Settings") return;
if (lastRoute.value.name) router.go(-1);
else router.push("/timetable");
}
</script>
<template>
<div class="titlebar">
<span class="title">{{ routeName }}</span>
<div class="settings">
<RouterLink to="/settings" v-show="$route.name != 'Login'">
<RouterLink
to="/settings"
v-show="$route.name != 'Login'"
@click="goBack()"
>
<MenuIcon />
</RouterLink>
</div>

View File

@ -1,4 +1,5 @@
import { createRouter, createWebHistory } from "vue-router";
import { lastRoute } from "../store";
import TimetableView from "../views/TimetableView.vue";
import SubstitutionView from "../views/SubstitutionView.vue";
import HistoryView from "../views/HistoryView.vue";
@ -40,4 +41,9 @@ const router = createRouter({
],
});
router.beforeEach((_to, from) => {
lastRoute.value = from;
return true;
});
export default router;

View File

@ -2,6 +2,8 @@ import { computed } from "@vue/reactivity";
import { ref, watch } from "vue";
import router from "./router";
export const lastRoute = ref();
export const substitutionFilter = ref(
localStorage.getItem("substitutionFilter") || "all"
);