judge4c/src/features/problems/testcase/content.tsx
cfngc4594 b34acf37b9 feat(panel-layout): add scrollable content support with isScroll prop
- Add ScrollArea and ScrollBar components from ui/scroll-area
- Introduce optional isScroll prop (defaults to true) to control scrolling
- Maintain backward compatibility with existing usage
2025-06-21 13:26:27 +08:00

45 lines
1.3 KiB
TypeScript

import { Skeleton } from "@/components/ui/skeleton";
import { TestcaseTable } from "@/features/problems/testcase/table";
interface TestcaseContentProps {
problemId: string;
}
export const TestcaseContent = ({ problemId }: TestcaseContentProps) => {
return <TestcaseTable problemId={problemId} />;
};
export const TestcaseContentSkeleton = () => {
return (
<div className="relative h-full w-full">
<div className="absolute h-full w-full p-4 md:p-6">
{/* Title skeleton */}
<Skeleton className="mb-6 h-8 w-3/4" />
{/* Content skeletons */}
<Skeleton className="mb-4 h-4 w-full" />
<Skeleton className="mb-4 h-4 w-5/6" />
<Skeleton className="mb-4 h-4 w-2/3" />
<Skeleton className="mb-4 h-4 w-full" />
<Skeleton className="mb-4 h-4 w-4/5" />
{/* Example section heading */}
<Skeleton className="mb-4 mt-8 h-6 w-1/4" />
{/* Example content */}
<Skeleton className="mb-4 h-4 w-full" />
<Skeleton className="mb-4 h-4 w-5/6" />
{/* Code block skeleton */}
<div className="mb-6">
<Skeleton className="h-40 w-full rounded-md" />
</div>
{/* More content */}
<Skeleton className="mb-4 h-4 w-full" />
<Skeleton className="mb-4 h-4 w-3/4" />
</div>
</div>
);
};