flaschengeist-frontend/src/plugins/balance/components/Widget.vue

45 lines
1.2 KiB
Vue
Raw Normal View History

<template>
2021-01-21 14:32:13 +00:00
<q-card style="text-align: center">
<q-card-section>
<div class="text-h6">Gerücht: {{ balance.toFixed(2) }} </div>
</q-card-section>
</q-card>
</template>
<script lang="ts">
import { computed, defineComponent, onBeforeMount } from 'vue';
2021-01-31 21:01:38 +00:00
import {
BalanceInterface,
StateInterfaceBalance,
UserBalance,
} from 'src/plugins/balance/store/balance';
import { mapGetters, Store, useStore } from 'vuex';
import { UserStateInterface } from 'src/plugins/user/store/user';
2021-01-31 21:01:38 +00:00
import { StateInterface } from 'src/store';
export default defineComponent({
name: 'BalanceWidget',
2021-01-31 21:01:38 +00:00
setup() {
onBeforeMount(() => {
store.dispatch('balance/getBalance').catch((err) => {
console.warn(err);
});
});
//const store = <Store<StateInterfaceBalance>>root.$store;
const store = useStore<Store<StateInterface>>();
2021-01-31 21:01:38 +00:00
const balanceGetters = mapGetters('balance', ['balances']);
const userGetters = mapGetters('user', ['currentUser']);
2021-01-21 14:32:13 +00:00
const balance = computed(
2021-01-31 21:01:38 +00:00
() =>
(<Map<string, UserBalance>>balanceGetters.balances()).get(
(<FG.User>userGetters.currentUser()).userid
)?.balance || NaN
2021-01-21 14:32:13 +00:00
);
return { balance };
},
});
</script>