From 7f7dfe0a024e07f8a205699c9866b147cdf4d9f3 Mon Sep 17 00:00:00 2001 From: Khafid Prayoga Date: Tue, 12 Aug 2025 14:38:20 +0700 Subject: [PATCH] =?UTF-8?q?feat(pub/base):=20add=20reusable=20Summary=20Ca?= =?UTF-8?q?rd=20+=20Summary=20type=20=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add `summary-card.vue` with skeleton state ⏳ - Add `summary-card.type.ts` with `Summary` interface and timeframe mapping 📅 --- app/components/pub/base/summary-card.type.ts | 7 ++ app/components/pub/base/summary-card.vue | 71 ++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 app/components/pub/base/summary-card.type.ts create mode 100644 app/components/pub/base/summary-card.vue diff --git a/app/components/pub/base/summary-card.type.ts b/app/components/pub/base/summary-card.type.ts new file mode 100644 index 00000000..64304eaf --- /dev/null +++ b/app/components/pub/base/summary-card.type.ts @@ -0,0 +1,7 @@ +export interface Summary { + title: string + icon: Component + metric: number + trend: number + timeframe: 'yearly' | 'monthly' | 'weekly' | 'daily' +} diff --git a/app/components/pub/base/summary-card.vue b/app/components/pub/base/summary-card.vue new file mode 100644 index 00000000..411bb6fc --- /dev/null +++ b/app/components/pub/base/summary-card.vue @@ -0,0 +1,71 @@ + + + + +