import prisma from "@/lib/prisma"; import { getLocale } from "next-intl/server"; import { Skeleton } from "@/components/ui/skeleton"; import { Locale, ProblemLocalization } from "@/generated/client"; import { BotForm } from "@/features/problems/bot/components/form"; const getLocalizedDescription = ( localizations: ProblemLocalization[], locale: Locale ) => { if (!localizations || localizations.length === 0) { return "Unknown Description"; } const localization = localizations.find( (localization) => localization.locale === locale ); return ( localization?.content ?? localizations[0].content ?? "Unknown Description" ); }; interface BotContentProps { problemId: string; } export const BotContent = async ({ problemId }: BotContentProps) => { const locale = await getLocale(); const descriptions = await prisma.problemLocalization.findMany({ where: { problemId, type: "DESCRIPTION", }, }); const description = getLocalizedDescription(descriptions, locale as Locale); return ; }; export const BotContentSkeleton = () => { return (
{/* Title skeleton */} {/* Content skeletons */} {/* Example section heading */} {/* Example content */} {/* Code block skeleton */}
{/* More content */}
); };