gradido/frontend/src/views/Pages/UserProfile/UserCard_CoinAnimation.vue
2021-10-02 14:25:36 +02:00

69 lines
1.7 KiB
Vue

<template>
<b-card
id="formusercoinanimation"
class="bg-transparent"
style="background-color: #ebebeba3 !important; border-radius: 0px"
>
<div>
<b-row class="mb-3">
<b-col class="mb-2 col-12">
<small>
<b>{{ $t('settings.coinanimation.coinanimation') }}</b>
</small>
</b-col>
<b-col class="col-12">
<b-form-checkbox
class="Test-BFormCheckbox"
v-model="CoinAnimationStatus"
name="check-button"
switch
@change="onSubmit"
>
{{
CoinAnimationStatus
? $t('settings.coinanimation.True')
: $t('settings.coinanimation.False')
}}
</b-form-checkbox>
</b-col>
</b-row>
</div>
</b-card>
</template>
<script>
import { updateUserInfos } from '../../../graphql/mutations'
export default {
name: 'FormUserCoinAnimation',
data() {
return {
CoinAnimationStatus: true,
}
},
created() {
this.CoinAnimationStatus = this.$store.state.coinanimation /* existiert noch nicht im store */
},
methods: {
async onSubmit() {
this.$apollo
.mutate({
mutation: updateUserInfos,
variables: {
coinanimation: this.CoinAnimationStatus,
},
})
.then(() => {
this.$store.state.coinanimation = this.CoinAnimationStatus
this.$toasted.success(
this.CoinAnimationStatus
? this.$t('settings.coinanimation.True')
: this.$t('settings.coinanimation.False'),
)
})
.catch((error) => {
this.$toasted.error(error.message)
})
},
},
}
</script>