improved subNav for matches

This commit is contained in:
cnachtigall1991
2021-10-16 12:52:26 +02:00
parent d6e862a5a1
commit f306b07f3e
4 changed files with 48 additions and 32 deletions

View File

@@ -4,7 +4,7 @@
</header> </header>
<main> <main>
<div class="spacer"></div> <div class="spacer"></div>
<router-view/> <router-view name="main" />
</main> </main>
<footer class="mt-auto"> <footer class="mt-auto">
<Footer /> <Footer />

View File

@@ -12,23 +12,36 @@ const routes = [
{ {
path: '/', path: '/',
name: 'Home', name: 'Home',
component: lazyLoadView('Home') components: {
main: lazyLoadView('Home')
}
},
{
path: '/explore',
name: 'Explore',
components: {
main: lazyLoadView('Explore')
}
}, },
{ {
path: '/player/:id', path: '/player/:id',
name: 'Player', name: 'Player',
component: lazyLoadView('Player'), components: {
main: lazyLoadView('Player'),
},
props: true props: true
}, },
{ {
path: '/match/:match_id', path: '/match/:match_id',
name: 'Match', name: 'Match',
component: lazyLoadView('Match'), // redirect: '/match/:match_id/overview',
components: {
main: lazyLoadView('Match')
},
props: true, props: true,
children: [ children: [
{ {
path: '', path: 'overview',
alias: '/match/:match_id',
components: { components: {
score: lazyLoadComponent('ScoreTeam') score: lazyLoadComponent('ScoreTeam')
} }
@@ -59,12 +72,6 @@ const routes = [
} }
] ]
}, },
{
path: '/explore',
name: 'Explore',
component: lazyLoadView('Explore'),
props: true
},
{ {
path: '/:pathMatch(.*)*', path: '/:pathMatch(.*)*',
redirect: '/' redirect: '/'

View File

@@ -9,5 +9,5 @@ export const GoToPlayer = (id) => {
} }
export const GoToLink = (link) => { export const GoToLink = (link) => {
router.push(link) router.replace(link)
} }

View File

@@ -38,36 +38,36 @@
<li :class="!data.matchDetails.parsed ? 'disabled' : ''" <li :class="!data.matchDetails.parsed ? 'disabled' : ''"
:title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''" :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"
class="list-item nav-item"> class="list-item nav-item">
<router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id" <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/overview'" replace
class="nav-link" name="score">Scoreboard class="nav-link">Scoreboard
</router-link> </router-link>
</li> </li>
<li :class="!data.matchDetails.parsed ? 'disabled' : ''" <li :class="!data.matchDetails.parsed ? 'disabled' : ''"
:title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''" :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"
class="list-item nav-item"> class="list-item nav-item">
<router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/details'" <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/details'" replace
class="nav-link" name="score">Details class="nav-link">Details
</router-link> </router-link>
</li> </li>
<li :class="!data.matchDetails.parsed ? 'disabled' : ''" <li :class="!data.matchDetails.parsed ? 'disabled' : ''"
:title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''" :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"
class="list-item nav-item"> class="list-item nav-item">
<router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/flashes'" <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/flashes'" replace
class="nav-link" name="score">Flashes class="nav-link">Flashes
</router-link> </router-link>
</li> </li>
<!-- <li :class="!data.matchDetails.parsed ? 'disabled' : ''"--> <!-- <li :class="!data.matchDetails.parsed ? 'disabled' : ''"-->
<!-- :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"--> <!-- :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"-->
<!-- class="list-item nav-item">--> <!-- class="list-item nav-item">-->
<!-- <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/utility'"--> <!-- <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/utility'" replace-->
<!-- class="nav-link" name="score">Utility--> <!-- class="nav-link">Utility-->
<!-- </router-link>--> <!-- </router-link>-->
<!-- </li>--> <!-- </li>-->
<li :class="!data.matchDetails.parsed ? 'disabled' : ''" <li :class="!data.matchDetails.parsed ? 'disabled' : ''"
:title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''" :title="!data.matchDetails.parsed ? 'This demo has not been parsed' : ''"
class="list-item nav-item"> class="list-item nav-item">
<router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/damage'" <router-link :disabled="!data.matchDetails.parsed" :to="'/match/' + data.matchDetails.match_id + '/damage'" replace
class="nav-link" name="score">Damage class="nav-link">Damage
</router-link> </router-link>
</li> </li>
</ul> </ul>
@@ -141,6 +141,17 @@ export default {
data.avgRank = Math.floor(fullRank / count) data.avgRank = Math.floor(fullRank / count)
} }
const checkRoute = () => {
if (route.fullPath.split('/')[3]) {
const sub = route.fullPath.split('/')[3]
GoToLink(`/match/${props.match_id}/${sub}`)
} else if (route.fullPath.split('/')[3] === undefined) {
// setTimeout(() => {
GoToLink(`/match/${props.match_id}/overview`)
// }, 200)
}
}
// Watchers // Watchers
watch(() => props.match_id, GetMatch) watch(() => props.match_id, GetMatch)
watch(() => data.stats, GetAvgRank) watch(() => data.stats, GetAvgRank)
@@ -151,9 +162,7 @@ export default {
}) })
onMounted(() => { onMounted(() => {
if (!route.fullPath.match('details' || 'flashes' || 'damage')) { checkRoute()
GoToLink(`/match/${props.match_id}`)
}
}) })
return { return {