MobytStatus.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <template>
  2. <v-col cols="12" lg="12">
  3. <strong>{{ $t('remaining_sms_credit') }}</strong> -
  4. <span v-if="mobytPendingStatus == FETCHING_STATUS.SUCCESS && mobytStatus !== null && mobytStatus.active">
  5. {{
  6. mobytStatus.money.toLocaleString($i18n.locale, {
  7. style: 'currency',
  8. currency: 'EUR',
  9. })
  10. }}
  11. {{
  12. i18n.t('convert_price_to_sms', {
  13. nb_sms: mobytStatus.amount,
  14. })
  15. }}
  16. </span>
  17. </v-col>
  18. </template>
  19. <script setup lang="ts">
  20. import type { AsyncData } from '#app'
  21. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  22. import { useOrganizationProfileStore } from '~/stores/organizationProfile'
  23. import MobytUserStatus from '~/models/Organization/MobytUserStatus'
  24. import {FETCHING_STATUS} from "~/types/enum/data";
  25. const { fetch } = useEntityFetch()
  26. const i18n = useI18n()
  27. const organizationProfile = useOrganizationProfileStore()
  28. const { data: mobytStatus, status: mobytPendingStatus } = fetch(
  29. MobytUserStatus,
  30. organizationProfile.id,
  31. ) as AsyncData<MobytUserStatus | null, Error | null>
  32. </script>
  33. <style scoped lang="scss"></style>