From 6a22d99c17ba942c66245cd58f61fd3b99d9d128 Mon Sep 17 00:00:00 2001 From: N-Pex Date: Mon, 11 Jan 2021 17:42:58 +0100 Subject: [PATCH] Improve navigation --- package-lock.json | 61 +++++++++++++++++++--- package.json | 3 +- src/App.vue | 2 +- src/components/Chat.vue | 82 ++++++++++++++++++++++-------- src/components/ChatHeader.vue | 6 ++- src/components/Home.vue | 13 +++++ src/components/Join.vue | 29 +++++++---- src/components/Login.vue | 7 ++- src/main.js | 6 +-- src/router/index.js | 19 ++++++- src/services/matrix.service.js | 14 ++--- src/services/navigation.service.js | 28 +++++----- 12 files changed, 198 insertions(+), 72 deletions(-) create mode 100644 src/components/Home.vue diff --git a/package-lock.json b/package-lock.json index e9632f4..d50f8ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,8 @@ "vue-resize": "^0.5.0", "vue-router": "^3.2.0", "vuetify": "^2.2.11", - "vuex": "^3.5.1" + "vuex": "^3.5.1", + "vuex-persist": "^3.1.3" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", @@ -2753,9 +2754,9 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "node_modules/axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "dependencies": { "follow-redirects": "^1.10.0" } @@ -13580,6 +13581,31 @@ "vue": "^2.0.0" } }, + "node_modules/vuex-persist": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vuex-persist/-/vuex-persist-3.1.3.tgz", + "integrity": "sha512-QWOpP4SxmJDC5Y1+0+Yl/F4n7z27syd1St/oP+IYCGe0X0GFio0Zan6kngZFufdIhJm+5dFGDo3VG5kdkCGeRQ==", + "dependencies": { + "deepmerge": "^4.2.2", + "flatted": "^3.0.5" + }, + "peerDependencies": { + "vuex": ">=2.5" + } + }, + "node_modules/vuex-persist/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/vuex-persist/node_modules/flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==" + }, "node_modules/watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", @@ -17011,9 +17037,9 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axios": { - "version": "0.21.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.0.tgz", - "integrity": "sha512-fmkJBknJKoZwem3/IKSSLpkdNXZeBu5Q7GA/aRsr2btgrptmSCxi2oFjZHqGdK9DoTil9PIHlPIZw2EcRJXRvw==", + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { "follow-redirects": "^1.10.0" } @@ -25728,6 +25754,27 @@ "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==", "requires": {} }, + "vuex-persist": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vuex-persist/-/vuex-persist-3.1.3.tgz", + "integrity": "sha512-QWOpP4SxmJDC5Y1+0+Yl/F4n7z27syd1St/oP+IYCGe0X0GFio0Zan6kngZFufdIhJm+5dFGDo3VG5kdkCGeRQ==", + "requires": { + "deepmerge": "^4.2.2", + "flatted": "^3.0.5" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + }, + "flatted": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.0.tgz", + "integrity": "sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA==" + } + } + }, "watchpack": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", diff --git a/package.json b/package.json index 1259a51..08301b0 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,8 @@ "vue-resize": "^0.5.0", "vue-router": "^3.2.0", "vuetify": "^2.2.11", - "vuex": "^3.5.1" + "vuex": "^3.5.1", + "vuex-persist": "^3.1.3" }, "devDependencies": { "@vue/cli-plugin-babel": "~4.5.0", diff --git a/src/App.vue b/src/App.vue index 4d32958..36aa444 100644 --- a/src/App.vue +++ b/src/App.vue @@ -69,7 +69,7 @@ export default { }, logOut() { this.$store.dispatch("auth/logout"); - this.$navigation.push("/login", true); + this.$navigation.push("/login", -1); }, }, computed: { diff --git a/src/components/Chat.vue b/src/components/Chat.vue index b52bc1a..9511c34 100644 --- a/src/components/Chat.vue +++ b/src/components/Chat.vue @@ -8,7 +8,7 @@ v-on:scroll="onScroll" @click.prevent="closeContextMenuIfOpen" > -
+