Container.vue 781 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <!--
  2. Container principal pour l'affichage d'une ou plusieurs alertes
  3. -->
  4. <template>
  5. <main class="alertContainer">
  6. <LayoutAlertContent
  7. v-for="(alert, key) in alerts"
  8. :key="key"
  9. class="alertContent"
  10. :alert="alert"
  11. />
  12. </main>
  13. </template>
  14. <script setup lang="ts">
  15. import { Alert } from '~/types/interfaces'
  16. import {usePageStore} from "~/store/page";
  17. import {ComputedRef} from "@vue/reactivity";
  18. const pageStore = usePageStore()
  19. const alerts: ComputedRef<Array<Alert>> = computed(() => {
  20. return pageStore.$state.alerts
  21. })
  22. </script>
  23. <style scoped>
  24. .alertContainer {
  25. position: fixed;
  26. bottom: 0;
  27. right: 20px;
  28. z-index: 1000;
  29. }
  30. .alertContainer > .alertContent {
  31. position: relative;
  32. margin-bottom: 10px;
  33. }
  34. </style>