12345678910111213141516171819202122232425262728293031323334353637383940 |
- <script setup lang="ts">
- import { markup } from '#shared/utils/markup.ts'
- interface Props {
- loading?: boolean
- error?: string | null
- }
- defineProps<Props>()
- </script>
- <script lang="ts">
- export default {
- inheritAttrs: false,
- }
- </script>
- <template>
- <div
- v-if="loading"
- v-bind="$attrs"
- class="flex items-center justify-center"
- role="status"
- >
- <CommonIcon
- class="fill-yellow-300"
- name="spinner"
- animation="spin"
- :label="__('Loading…')"
- />
- </div>
- <CommonAlert v-else-if="error" v-bind="$attrs" variant="danger">
- <span v-html="markup($t(error))" />
- </CommonAlert>
- <slot v-else />
- </template>
|