diff --git a/src/components/Nav.vue b/src/components/Nav.vue index a4af2f1..301bb3e 100644 --- a/src/components/Nav.vue +++ b/src/components/Nav.vue @@ -104,12 +104,7 @@ export default { }) } - if (vanityPattern.test(store.state.vanityUrl)) { - store.commit({ - type: 'changeVanityUrl', - id: input - }) - } else { + if (store.state.vanityUrl && !vanityPattern.test(store.state.vanityUrl)) { data.error = 'Only alphanumeric symbols, "_", and "-", between 3-32 characters' store.commit({ type: 'changeVanityUrl', @@ -202,9 +197,9 @@ nav { max-width: 100vw; height: 70px; width: 100vw; - background: rgba(16, 18, 26, 1); + background: rgba(16, 18, 26, .9); + box-shadow: 0 1px 10px 0 #111; z-index: 2; - ul { display: flex; diff --git a/src/router/index.js b/src/router/index.js index 900ee18..d5773e6 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -75,7 +75,14 @@ const routes = [ score: lazyLoadComponent('DamageSite') } } - ] + ], + scrollBehavior(to, from, savedPosition) { + if (savedPosition) { + return savedPosition + } else { + return {x: 0, y: 0} + } + } }, { path: '/:pathMatch(.*)*', diff --git a/src/views/Explore.vue b/src/views/Explore.vue index e4b92ae..30d4936 100644 --- a/src/views/Explore.vue +++ b/src/views/Explore.vue @@ -7,7 +7,7 @@
-
@@ -16,9 +16,11 @@ diff --git a/src/views/Player.vue b/src/views/Player.vue index 0138129..39f7700 100644 --- a/src/views/Player.vue +++ b/src/views/Player.vue @@ -226,13 +226,15 @@ import { LoadImage, LoadMoreMatches, MatchNotParsedTime, - SaveLastVisitedToLocalStorage, scrollToPos, + SaveLastVisitedToLocalStorage, + scrollToPos, setTitle, sortObjectValue, TrackMe } from "../utils"; import {FOOTER_HEIGHT, NAV_HEIGHT} from "@/constants"; import MatchesTable from "@/components/MatchesTable"; +import router from "@/router"; export default { name: 'Player', @@ -276,8 +278,6 @@ export default { ) const SetPlayerData = async () => { - await store.commit('changeScrollState', 0) - data.tracked = store.state.playerDetails.tracked if (store.state.playerDetails.matches) data.matches = store.state.playerDetails.matches @@ -360,6 +360,7 @@ export default { refreshButton.classList.add('fa-fw') refreshButton.classList.remove('fa-refresh') refreshButton.classList.add('fa-spinner') + scrollToPos(0) await GetPlayer(true).then(() => { setTimeout(() => { @@ -455,10 +456,19 @@ export default { await GetPlayer() data.playerMeta = await GetPlayerMeta(props.id, displayCounter) + + scrollToPos(store.state.scroll_state) }) onBeforeUnmount(() => { store.commit('changeScrollState', window.scrollY) + + router.beforeEach((to, from, next) => { + if (to.fullPath.match('/player/') && from.fullPath.match('/player/')) { + store.commit('changeScrollState', 0) + } + next() + }) }) return { @@ -475,9 +485,9 @@ export default { FixMapName, GoToPlayer, MatchNotParsedTime, + scrollToPos, setMoreMatches, - setDmgGraphWidth, - scrollToPos + setDmgGraphWidth } } }