OnlineRegistration.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. const { fetch } = useEntityFetch()
  18. const accessProfile = useAccessProfileStore()
  19. const { data: registrationAvailability, pending } = fetch(
  20. RegistrationAvailability,
  21. accessProfile.id ?? 0,
  22. )
  23. const show: ComputedRef<boolean> = computed(() => {
  24. return (
  25. !pending &&
  26. (registrationAvailability.value as RegistrationAvailability).available
  27. )
  28. })
  29. const message: ComputedRef<string> = computed(() => {
  30. return (registrationAvailability.value as RegistrationAvailability).message
  31. })
  32. </script>
  33. <style scoped lang="scss"></style>