diff --git a/services/frontend/src/app/(dashboard)/channels/view.tsx b/services/frontend/src/app/(dashboard)/channels/view.tsx index 580d3c07..5ee64b85 100644 --- a/services/frontend/src/app/(dashboard)/channels/view.tsx +++ b/services/frontend/src/app/(dashboard)/channels/view.tsx @@ -1,39 +1,234 @@ "use client"; +import { Hash } from "lucide-react"; +import { useEffect, useState } from "react"; +import { useAmbient } from "@/components/ambient/ambient-context"; import { ChannelCultureGlossary } from "@/components/ChannelCultureGlossary"; -import { SkeletonPanel } from "@/components/shared"; -import { useChannelCultures } from "@/hooks"; -import type { ChannelCultureRow } from "@/lib/types"; +import { GlassPanel } from "@/components/primitives"; +import { + EmptyState, + ErrorState, + PageTransition, + SectionHeader, + SkeletonPanel, +} from "@/components/shared"; +import { useChannelCultures, useChannels } from "@/hooks"; +import { useStaggerReveal } from "@/hooks/use-gsap-animation"; +import { formatNumber } from "@/lib/format"; +import type { DashboardChannel } from "@/lib/types"; + +type ViewMode = "roster" | "culture"; export function ChannelsView({ initialCultures, }: { - initialCultures?: ChannelCultureRow[]; + initialCultures?: import("@/lib/types").ChannelCultureRow[]; }) { - const { data: cultures } = useChannelCultures(100, initialCultures); - return ( -
| Channel | +Messages | +Clean | +Flagged | +Risk | +Last Activity | +
|---|