flaschengeist-frontend/src/pages/Dashboard.vue

32 lines
821 B
Vue
Raw Normal View History

<template>
<q-page
padding
style="grid-auto-rows: 1fr"
class="fit row justify-around items-start q-col-gutter-sm"
>
2021-01-27 07:16:44 +00:00
<div v-for="(item, index) in widgets" :key="index" class="col-4 full-height col-sm-6 col-xs-12">
2021-03-19 16:36:34 +00:00
<component :is="item.widget" />
</div>
</q-page>
</template>
<script lang="ts">
2021-03-19 16:36:34 +00:00
import { computed, defineComponent, inject } from 'vue';
import { hasPermissions } from '@flaschengeist/api';
import { FG_Plugin } from '@flaschengeist/types';
2021-03-19 16:36:34 +00:00
export default defineComponent({
name: 'Dashboard',
setup() {
2021-02-04 01:42:49 +00:00
const flaschengeist = inject<FG_Plugin.Flaschengeist>('flaschengeist');
2021-03-19 16:36:34 +00:00
const widgets = computed(() => {
return flaschengeist?.widgets.filter((widget) => hasPermissions(widget.permissions));
});
return {
widgets,
};
},
});
</script>