flaschengeist-frontend/src/plugins/balance/pages/MainPage.vue

52 lines
1.5 KiB
Vue
Raw Normal View History

2020-10-31 16:33:40 +00:00
<template>
<div>
<q-page padding v-if="checkMain">
<q-card>
<q-card-section>
<q-list
v-for="(mainRoute, index) in mainRoutes"
:key="'mainRoute' + index"
>
<essential-link
v-for="(route, index2) in mainRoute.children"
:key="'route' + index2"
:title="route.title"
:icon="route.icon"
:link="route.name"
2020-10-31 18:33:05 +00:00
:permissions="route.meta.permissions"
2020-10-31 16:33:40 +00:00
/>
</q-list>
</q-card-section>
</q-card>
</q-page>
<router-view />
</div>
</template>
<script lang="ts">
import { computed, defineComponent } from '@vue/composition-api';
import EssentialLink from 'src/components/navigation/EssentialLink.vue';
import mainRoutes from 'src/plugins/balance/routes';
import { Store } from 'vuex';
import { BalanceInterface } from 'src/plugins/balance/store/balance';
2020-12-19 21:13:52 +00:00
import setLoadingBar from 'src/utils/loading';
import { StateInterface } from 'src/store';
2020-10-31 16:33:40 +00:00
export default defineComponent({
// name: 'PageName'
components: { EssentialLink },
setup(_, { root }) {
const store = <Store<StateInterface>>root.$store;
const loading = computed(() => {
return (<BalanceInterface>store.state.balance).loading > 0;
});
2020-10-31 16:33:40 +00:00
const checkMain = computed(() => {
return root.$route.matched.length == 2;
});
setLoadingBar(loading);
2020-10-31 18:33:05 +00:00
return { checkMain, mainRoutes };
2020-10-31 16:33:40 +00:00
}
});
</script>