chore(services): update components based on recent changes

Changes:
 services/frontend/src/features/dashboard/components/ChannelProfileDetail.tsx | 258 +++++++++++-----------------------------------------------------------------
 services/frontend/src/features/dashboard/components/ChannelSummaryList.tsx   | 171 ++++++++-------------------------------------------
 services/frontend/src/features/dashboard/components/DashboardStats.tsx       |   8 ++-
 services/frontend/src/features/dashboard/components/UserProfileDetail.tsx    | 297 +++++++++++++---------------------------------------------------------------------------
 services/frontend/src/features/dashboard/components/UserSummaryList.tsx      | 204 +++++++++++-------------------------------------------------
 services/frontend/src/features/dashboard/hooks/useDashboard.ts               | 203 +++++++++++++++---------------------------------------------
 services/frontend/src/features/messages/components/MessageCard.tsx           |  10 +--
 services/frontend/src/shared/api/client.ts                                   |  87 +++++++++++++++++++-------
 services/frontend/src/shared/hooks/useItemDetail.ts                          |  58 +++++++++++++++++
 services/frontend/src/shared/hooks/usePaginatedList.ts                       | 105 +++++++++++++++++++++++++++++++
This commit is contained in:
MythEclipse
2026-06-14 15:16:18 +07:00
parent 2b084b326f
commit 41e67423b8
25 changed files with 1090 additions and 1045 deletions
@@ -11,7 +11,7 @@ import {
import { Fragment, useMemo, useState } from "react";
import { parseMetadata } from "../../../entities/message/types";
import type { MessageRecord } from "../../../shared/api/client";
import { Badge, Button, Skeleton } from "../../../shared/ui";
import { Badge, Button, Skeleton, StatusBadge } from "../../../shared/ui";
const CUSTOM_EMOJI_REGEX = /<(a)?:([a-zA-Z0-9_]+):(\d+)>/g;
@@ -194,15 +194,11 @@ function MessageRow({
</span>
)}
<div className="ml-auto flex items-center gap-1">
<Badge
variant={aiVariant(aiStatus)}
className="flex items-center gap-1 text-[10px] px-1.5 py-0"
>
<StatusBadge status={aiStatus} className="text-[10px] px-1.5 py-0">
{aiStatus === "clean" && <CheckCircle2 className="h-3 w-3" />}
{aiStatus === "flagged" && <AlertCircle className="h-3 w-3" />}
{aiStatus === "error" && <AlertCircle className="h-3 w-3" />}
{aiStatus}
</Badge>
</StatusBadge>
{message.ai_severity && message.ai_severity !== "none" && (
<Badge
className={`text-[10px] px-1.5 py-0 ${severityColor(message.ai_severity)}`}