main
vue 38 lines 1.09 KB
Raw
1 <template>
2 <CardEntity :embedded header-box-class="flex-nowrap!" header-main-box-class="truncate">
3 <template #header-main>
4 {{ alert.name }}
5 </template>
6 <template #header-extra>
7 <Chip :type="getSeverityColor(alert.severity)" size="small">
8 {{ alert.severity }}
9 </Chip>
10 </template>
11 <template #default>
12 {{ alert.description }}
13 </template>
14 <template #footer-main>
15 {{ formatTimeAgo(alert.created_at, dFormats.datetime) }}
16 </template>
17 <template #footer-extra>
18 <AlertDetailsButton :alert-id="alert.id" size="small" />
19 </template>
20 </CardEntity>
21 </template>
22
23 <script setup lang="ts">
24 import type { DashboardAlert } from "./types"
25 import AlertDetailsButton from "@/components/alerts/AlertDetailsButton.vue"
26 import CardEntity from "@/components/common/cards/CardEntity.vue"
27 import Chip from "@/components/common/Chip.vue"
28 import { useSettingsStore } from "@/stores/settings"
29 import { getSeverityColor } from "@/utils"
30 import { formatTimeAgo } from "@/utils/format"
31
32 defineProps<{
33 alert: DashboardAlert
34 embedded?: boolean
35 }>()
36
37 const dFormats = useSettingsStore().dateFormat
38 </script>