Files
dbx/apps/desktop/src/components/common/MetricCard.vue
T

22 lines
637 B
Vue

<script setup lang="ts">
import type { Component } from "vue";
defineProps<{
label: string;
value: string;
sub?: string;
icon?: Component;
}>();
</script>
<template>
<div class="flex flex-col gap-1 rounded-lg border bg-card p-3 text-card-foreground">
<div class="flex items-center gap-1.5 text-xs text-muted-foreground">
<component :is="icon" v-if="icon" class="h-3.5 w-3.5" />
<span class="truncate">{{ label }}</span>
</div>
<div class="text-xl font-semibold tabular-nums">{{ value }}</div>
<div v-if="sub" class="truncate text-[11px] text-muted-foreground">{{ sub }}</div>
</div>
</template>