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

36 lines
1008 B
Vue

<script setup lang="ts">
import { t } from '@/i18n'
import MediaBadge from '@/components/MediaBadge.vue'
import MediaUsageTooltip from '@/components/MediaUsageTooltip.vue'
defineProps<{
item: { id?: number; duplicate: boolean; used_in: number; variant_count?: number }
variants?: boolean
tooltip?: boolean
focused?: boolean
}>()
</script>
<template>
<MediaBadge v-if="item.duplicate" kind="duplicate" :label="t('Duplicate')" />
<MediaUsageTooltip
v-if="item.used_in > 0 && tooltip && item.id !== undefined"
:id="item.id"
:focused="focused"
>
<MediaBadge kind="used" :label="t('Used in {0}', [item.used_in])" />
</MediaUsageTooltip>
<MediaBadge
v-else-if="item.used_in > 0"
kind="used"
:label="t('Used in {0}', [item.used_in])"
/>
<MediaBadge v-else kind="unused" :label="t('Unused')" />
<MediaBadge
v-if="variants && (item.variant_count ?? 0) > 0"
kind="variants"
:label="item.variant_count === 1 ? t('1 variant') : t('{0} variants', [item.variant_count])"
/>
</template>