import { Card } from "@/shared/ui/card";
import { Skeleton } from "@/shared/ui/skeleton";
type ViewLoadingFallbackKind =
| "agents"
| "channel"
| "forum"
| "pulse"
| "workflows";
type ViewLoadingFallbackProps = {
includeHeader?: boolean;
kind: ViewLoadingFallbackKind;
};
function LoadingHeaderSkeleton() {
return (
);
}
function MessageRowsSkeleton() {
return (
<>
{["first", "second", "third", "fourth", "fifth"].map((row) => (
))}
>
);
}
function AgentsLoadingBody() {
return (
{["first", "second", "third", "fourth"].map((card) => (
))}
{["alpha", "beta", "gamma"].map((card) => (
))}
{["one", "two", "three"].map((row) => (
))}
);
}
function WorkflowsLoadingBody() {
return (
{["first", "second", "third", "fourth"].map((card) => (
))}
);
}
function ChannelLoadingBody() {
return (
);
}
function ForumLoadingBody() {
return (
{["first", "second", "third"].map((card) => (
))}
);
}
export function ViewLoadingFallback({
includeHeader = false,
kind,
}: ViewLoadingFallbackProps) {
return (
{includeHeader ?
: null}
{kind === "agents" ?
: null}
{kind === "workflows" ?
: null}
{kind === "channel" ?
: null}
{kind === "forum" ?
: null}
{kind === "pulse" ?
: null}
);
}