fix: resolve frontend module resolution errors
Build & Deploy / build-and-push (discord-gateway) (push) Failing after 27s
Build & Deploy / build-and-push (proxy) (push) Failing after 41s
Build & Deploy / build-and-push (backend) (push) Failing after 2m11s

- Remove broken DetailStat and StatCard exports from shared/index.ts
- Fix message-detail-view import to message-detail
- Create missing ai-status-badge component with status-based styling

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Developer
2026-07-28 14:40:19 +07:00
co-authored by Claude Opus 4.8
parent 3f4fa42098
commit bd9e7d8151
3 changed files with 15 additions and 19 deletions
@@ -4,7 +4,7 @@ import { useCallback, useEffect, useState } from "react";
import { useSearchParams, useRouter } from "next/navigation"; import { useSearchParams, useRouter } from "next/navigation";
import { Flag, Image, Loader2, RefreshCw, Search } from "lucide-react"; import { Flag, Image, Loader2, RefreshCw, Search } from "lucide-react";
import { MessageList } from "@/components/messages/message-list"; import { MessageList } from "@/components/messages/message-list";
import { MessageDetailView } from "@/components/messages/message-detail-view"; import { MessageDetail } from "@/components/messages/message-detail";
import { SearchOverlay } from "@/components/messages/search-overlay"; import { SearchOverlay } from "@/components/messages/search-overlay";
import { extractFirstImage } from "@/components/messages/message-card"; import { extractFirstImage } from "@/components/messages/message-card";
import { SubNav } from "@/components/layout/sub-nav"; import { SubNav } from "@/components/layout/sub-nav";
@@ -227,7 +227,7 @@ export default function MessagesPage() {
> >
&larr; Back to list &larr; Back to list
</button> </button>
<MessageDetailView <MessageDetail
message={detailMessage} message={detailMessage}
attachments={detailAttachments} attachments={detailAttachments}
/> />
@@ -1,28 +1,26 @@
"use client"; "use client";
import { Badge } from "@/components/ui/badge";
import { cn } from "@/lib/utils"; import { cn } from "@/lib/utils";
const STATUS_STYLES: Record<string, string> = { const STATUS_STYLES: Record<string, string> = {
clean: clean: "bg-emerald-500/10 text-emerald-600 dark:text-emerald-400 border-emerald-500/20",
"bg-emerald-500/15 text-emerald-600 dark:text-emerald-400 border-emerald-500/20", flagged: "bg-red-500/10 text-red-600 dark:text-red-400 border-red-500/20",
warn: "bg-amber-500/15 text-amber-600 dark:text-amber-400 border-amber-500/20", warn: "bg-amber-500/10 text-amber-600 dark:text-amber-400 border-amber-500/20",
flagged: "bg-red-500/15 text-red-600 dark:text-red-400 border-red-500/20", pending: "bg-muted text-muted-foreground border-border",
error: "bg-gray-500/15 text-gray-600 dark:text-gray-400 border-gray-500/20", processing: "bg-sky-500/10 text-sky-600 dark:text-sky-400 border-sky-500/20 animate-pulse",
pending: "bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 border-cyan-500/20", error: "bg-destructive/10 text-destructive border-destructive/20",
processing:
"bg-cyan-500/15 text-cyan-600 dark:text-cyan-400 border-cyan-500/20",
}; };
export function AiStatusBadge({ status }: { status?: string | null }) { export function AiStatusBadge({ status }: { status?: string | null }) {
const style = STATUS_STYLES[status ?? ""]; if (!status) return null;
if (!style) return null;
return ( return (
<Badge <span
variant="outline" className={cn(
className={cn("text-[10px] px-1.5 py-0 h-4 font-medium", style)} "inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-medium uppercase tracking-wider",
STATUS_STYLES[status] ?? "bg-muted text-muted-foreground border-border",
)}
> >
{status} {status}
</Badge> </span>
); );
} }
@@ -1,6 +1,4 @@
export { DetailStat } from "./detail-stat";
export { EmptyState } from "./empty-state"; export { EmptyState } from "./empty-state";
export { ErrorBoundary } from "./error-boundary"; export { ErrorBoundary } from "./error-boundary";
export { ErrorState } from "./error-state"; export { ErrorState } from "./error-state";
export { LoadingSkeleton } from "./loading-skeleton"; export { LoadingSkeleton } from "./loading-skeleton";
export { StatCard } from "./stat-card";