OnlineRegistration.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <!--
  2. Barre d'alerte sur l'ouverture ou non de l'inscription en ligne
  3. -->
  4. <template>
  5. <UiSystemBar
  6. v-if="show"
  7. :text="$t(message)"
  8. icon="fas fa-id-card"
  9. class="theme-secondary-alt"
  10. />
  11. </template>
  12. <script setup lang="ts">
  13. import type { ComputedRef } from 'vue'
  14. import { useEntityFetch } from '~/composables/data/useEntityFetch'
  15. import { useAccessProfileStore } from '~/stores/accessProfile'
  16. import RegistrationAvailability from '~/models/OnlineRegistration/RegistrationAvailability'
  17. import { FETCHING_STATUS } from '~/types/enum/data'
  18. const { fetch } = useEntityFetch()
  19. const accessProfile = useAccessProfileStore()
  20. const { data: registrationAvailability, status } = fetch(
  21. RegistrationAvailability,
  22. accessProfile.id ?? 0,
  23. )
  24. const show: ComputedRef<boolean> = computed(() => {
  25. return (
  26. status.value == FETCHING_STATUS.SUCCESS &&
  27. (registrationAvailability.value as RegistrationAvailability).available
  28. )
  29. })
  30. const message: ComputedRef<string> = computed(() => {
  31. return (registrationAvailability.value as RegistrationAvailability).message
  32. })
  33. </script>
  34. <style scoped lang="scss"></style>