RefreshNeeded.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <!--
  2. Une boite de dialogue signalant que la page doit être rechargée (par exemple
  3. parce que le accessProfile a été modifié dans un autre onglet).
  4. -->
  5. <template>
  6. <LazyLayoutDialog
  7. :show="showRefreshNeededDialog"
  8. theme="info"
  9. >
  10. <template #dialogType>{{ $t('information') }}</template>
  11. <template #dialogTitle>{{ $t('refresh_needed') }}</template>
  12. <template #dialogText>
  13. <v-card-text class="text">
  14. <p>
  15. {{ $t('refresh_needed_message') }}
  16. </p>
  17. </v-card-text>
  18. </template>
  19. <template #dialogBtn>
  20. <v-btn class="submitBtn theme-info" @click="refreshPage">
  21. {{ $t('refresh_page') }}
  22. </v-btn>
  23. </template>
  24. </LazyLayoutDialog>
  25. </template>
  26. <script setup lang="ts">
  27. import { useAccessProfileStore } from '~/stores/accessProfile'
  28. const showRefreshNeededDialog = ref(false)
  29. const accessProfileStore = useAccessProfileStore()
  30. onMounted(() => {
  31. accessProfileStore.$subscribe(() => {
  32. showRefreshNeededDialog.value = true
  33. })
  34. })
  35. const refreshPage = () => {
  36. window.location.reload()
  37. }
  38. </script>
  39. <style scoped lang="scss">
  40. </style>