SuperAdmin.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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" class="theme-danger" :href="url">
  8. <v-icon small>fas fa-exclamation-triangle</v-icon>
  9. <span>{{ $t('super_admin_switch_account') }} </span>
  10. </UiSystemBar>
  11. </template>
  12. <script setup lang="ts">
  13. import {useAccessProfileStore} from "~/stores/accessProfile";
  14. import UrlUtils from "~/services/utils/urlUtils";
  15. import type {ComputedRef} from "@vue/reactivity";
  16. const runtimeConfig = useRuntimeConfig()
  17. const baseLegacyUrl: string = runtimeConfig.baseUrlAdminLegacy
  18. const accessProfile = useAccessProfileStore()
  19. const show: ComputedRef<boolean> = computed(() =>
  20. accessProfile.originalAccess !== null && accessProfile.originalAccess.isSuperAdminAccess
  21. )
  22. const url: ComputedRef<string> = computed(() => {
  23. const orgId = accessProfile.originalAccess ? accessProfile.originalAccess.organization.id : null
  24. const originalAccessId = accessProfile.originalAccess ? accessProfile.originalAccess.id : null
  25. if (show && orgId && originalAccessId) {
  26. return UrlUtils.join(baseLegacyUrl, '#', 'switch_user', orgId, originalAccessId, 'exit')
  27. }
  28. return ''
  29. })
  30. </script>
  31. <style scoped lang="scss">
  32. .v-system-bar {
  33. font-size: 14px;
  34. }
  35. .v-icon {
  36. height: 20px;
  37. margin: 0 6px;
  38. }
  39. </style>