import { calcPrice } from "@/app/(ui)/rubgram/api";
import Image from "@/components/image";
import { DiscordMentionable } from "@/components/mentionable";
import {
Card,
CardAction,
CardContent,
CardDescription,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import {
Empty,
EmptyHeader,
EmptyMedia,
EmptyTitle,
} from "@/components/ui/empty";
import { db } from "@/lib/db";
import { endgameArchive, endgameDiscord, endgameSlips } from "@/lib/db/schema";
import { parseSearchNumber } from "@/lib/utils";
import { YAML } from "bun";
import { and, eq, getTableColumns } from "drizzle-orm";
import { ReceiptText } from "lucide-react";
import { DataViewer } from "./client";
export default async function ({
params,
}: PageProps<"/rubgram/admin/slip/[round]/[queue]">) {
const { round: r, queue: q } = await params;
const round = parseSearchNumber(r) || 1;
const queue = parseSearchNumber(q) || 1;
const { slip: _, ...slipColumns } = getTableColumns(endgameSlips);
const [entry] = await db
.select({
...getTableColumns(endgameArchive),
user: getTableColumns(endgameDiscord),
slip: slipColumns,
})
.from(endgameArchive)
.where(
and(eq(endgameArchive.round, round), eq(endgameArchive.queue, queue)),
)
.innerJoin(endgameDiscord, eq(endgameDiscord.uid, endgameArchive.user))
.leftJoin(endgameSlips, eq(endgameSlips.id, endgameArchive.slip))
.limit(1);
const entryYaml = YAML.stringify(
{ ...entry, slip: { ...entry.slip, data: undefined } },
null,
2,
);
const slipYaml = YAML.stringify(entry.slip, null, 2);
if (!entry)
return (