From 6481ee4f1abe814ec7ac326aa214e3b4115d0b53 Mon Sep 17 00:00:00 2001 From: Denozordec Date: Tue, 4 Aug 2026 19:47:56 +0700 Subject: [PATCH] Enhance user detail and metrics components by adding share links, improving RankedBarList with titles and subtitles, and updating TypeScript configuration to exclude additional directories. Refactor runtime page to include ME pool quality metrics and improve error class label resolution in dashboard. --- .../blocks/stats-7/components/data.tsx | 86 +++ .../blocks/stats-7/components/stats.tsx | 46 ++ .../src/components/blocks/stats-7/page.tsx | 9 + apps/web/src/components/metric-list.tsx | 51 +- .../src/components/runtime/me-pool-panel.tsx | 279 ++++++++ .../components/users/user-detail-sheet.tsx | 48 ++ .../src/components/users/user-share-links.tsx | 98 +++ .../src/components/users/users-columns.tsx | 553 ++++++++++++++-- .../src/components/users/users-grid-view.tsx | 605 ++++++++++++++++++ apps/web/src/lib/telemt-error-classes.ts | 80 +++ apps/web/src/lib/telemt.ts | 192 +++++- apps/web/src/routes/dashboard.tsx | 21 +- apps/web/src/routes/runtime.tsx | 40 +- apps/web/src/routes/users.tsx | 359 +---------- apps/web/tsconfig.json | 3 +- 15 files changed, 2019 insertions(+), 451 deletions(-) create mode 100644 apps/web/src/components/blocks/stats-7/components/data.tsx create mode 100644 apps/web/src/components/blocks/stats-7/components/stats.tsx create mode 100644 apps/web/src/components/blocks/stats-7/page.tsx create mode 100644 apps/web/src/components/runtime/me-pool-panel.tsx create mode 100644 apps/web/src/components/users/user-share-links.tsx create mode 100644 apps/web/src/components/users/users-grid-view.tsx create mode 100644 apps/web/src/lib/telemt-error-classes.ts diff --git a/apps/web/src/components/blocks/stats-7/components/data.tsx b/apps/web/src/components/blocks/stats-7/components/data.tsx new file mode 100644 index 0000000..6766214 --- /dev/null +++ b/apps/web/src/components/blocks/stats-7/components/data.tsx @@ -0,0 +1,86 @@ +import { ReactNode } from "react" +import { BadgeProps } from "@/components/reui/badge" +import { TrendingUp, UserPlusIcon, TrendingDown } from "lucide-react" + +// ── Types ── + +export interface CardData { + title: string + subtitle: string + value: string + valueColor: string + badge: { + color: BadgeProps["variant"] + icon: ReactNode + text: string + } + subtext: ReactNode +} + +// ── Data ── + +export const cards: CardData[] = [ + { + title: "Total Sales & Cost", + subtitle: "Last 60 days", + value: "$956.82k", + valueColor: "text-emerald-600", + badge: { + color: "success-light", + icon: ( +