2020-11-10 00:33:55 +00:00
|
|
|
<template>
|
2021-01-21 14:32:13 +00:00
|
|
|
<q-card style="text-align: center">
|
2020-11-10 00:33:55 +00:00
|
|
|
<q-card-section>
|
|
|
|
<div class="text-h6">Gerücht: {{ balance.toFixed(2) }} €</div>
|
|
|
|
</q-card-section>
|
|
|
|
</q-card>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script lang="ts">
|
2021-01-30 03:16:17 +00:00
|
|
|
import { computed, defineComponent, onBeforeMount } from 'vue';
|
2021-01-31 21:21:49 +00:00
|
|
|
import { UserBalance } from 'src/plugins/balance/store/balance';
|
2021-02-04 23:07:51 +00:00
|
|
|
import { mapGetters, useStore } from 'vuex';
|
2021-01-31 21:01:38 +00:00
|
|
|
import { StateInterface } from 'src/store';
|
2020-11-10 00:33:55 +00:00
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
name: 'BalanceWidget',
|
2021-01-31 21:01:38 +00:00
|
|
|
setup() {
|
2021-02-04 23:07:51 +00:00
|
|
|
const store = useStore<StateInterface>();
|
|
|
|
const balanceGetters = mapGetters('balance', ['balances']);
|
|
|
|
const userGetters = mapGetters('users', ['currentUser']);
|
|
|
|
|
2020-11-10 00:33:55 +00:00
|
|
|
onBeforeMount(() => {
|
2021-03-18 16:23:57 +00:00
|
|
|
store.dispatch('balance/getBalance').catch((err) => {
|
2020-11-10 00:33:55 +00:00
|
|
|
console.warn(err);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
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
|
|
|
);
|
2020-11-10 00:33:55 +00:00
|
|
|
|
|
|
|
return { balance };
|
2021-03-18 16:23:57 +00:00
|
|
|
},
|
2020-11-10 00:33:55 +00:00
|
|
|
});
|
|
|
|
</script>
|