Files
RenewCMS/web/src/components/EntrySkeleton.vue
T

31 lines
860 B
Vue

<script setup lang="ts">
import { t } from '@/i18n'
defineProps<{ rows: number; cards?: boolean }>()
</script>
<template>
<div
role="status"
:aria-label="t('Loading')"
aria-busy="true"
class="border border-default bg-default"
>
<div
v-for="n in rows"
:key="n"
data-testid="entry-skeleton-row"
class="flex items-center gap-5 px-4"
:class="[cards ? 'h-17' : 'h-12', n > 1 ? 'border-t border-default' : '']"
>
<USkeleton v-if="!cards" class="h-3 w-8 rounded-none bg-accented" />
<USkeleton class="h-3.5 rounded-none bg-accented" :class="n % 2 ? 'w-1/4' : 'w-3/10'" />
<template v-if="!cards">
<USkeleton class="h-3 w-22.5 rounded-none bg-accented" />
<USkeleton class="h-3 w-22.5 rounded-none bg-accented" />
<USkeleton class="h-3 w-12.5 rounded-none bg-accented" />
</template>
</div>
</div>
</template>