SuperAdmin.vue 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!--
  2. Super Admin bar
  3. Barre d'alerte qui s'affiche lorsque l'utilisateur est un super admin en mode switch
  4. -->
  5. <template>
  6. <!-- TODO : fonctionnement à valider -->
  7. <UiSystemBar v-if="show" color="ot-danger">
  8. <template #bar.text>
  9. <v-icon small>
  10. fas fa-exclamation-triangle
  11. </v-icon>
  12. <span>{{ $t('super_admin_switch_account') }}</span>
  13. <a v-if="url" :href="url" class="text-ot-black text-decoration-none">
  14. <strong>{{ $t('click_here') }}</strong>
  15. </a>
  16. </template>
  17. </UiSystemBar>
  18. </template>
  19. <script setup lang="ts">
  20. import {useAccessProfileStore} from "~/stores/accessProfile";
  21. import Url from "~/services/utils/url";
  22. import {ComputedRef} from "@vue/reactivity";
  23. const runtimeConfig = useRuntimeConfig()
  24. const baseLegacyUrl: string = runtimeConfig.baseUrlAdminLegacy
  25. const accessProfile = useAccessProfileStore()
  26. const show: ComputedRef<boolean> = computed(() =>
  27. accessProfile.originalAccess !== null && accessProfile.originalAccess.isSuperAdminAccess
  28. )
  29. const url: ComputedRef<string> = computed(() => {
  30. const orgId = accessProfile.originalAccess ? accessProfile.originalAccess.organization.id : null
  31. const originalAccessId = accessProfile.originalAccess ? accessProfile.originalAccess.id : null
  32. if (show && orgId && originalAccessId) {
  33. return Url.join(baseLegacyUrl, 'switch_user', orgId, originalAccessId, 'exit')
  34. }
  35. return ''
  36. })
  37. </script>
  38. <style scoped lang="scss">
  39. .v-system-bar {
  40. font-size: 14px;
  41. }
  42. .v-icon {
  43. height: 20px;
  44. margin: 0 6px;
  45. }
  46. </style>