"use client"; import { DataTable } from "@/components/tantable"; import { SimpleTooltip } from "@/components/tooltip"; import { HoverCard, HoverCardContent, HoverCardTrigger, } from "@/components/ui/hover-card"; import { donations } from "@/lib/db/schema"; import { cn } from "@/lib/utils"; import type { ColumnDef } from "@tanstack/react-table"; import { BitcoinIcon, BugPlay, Copy, MessageCircleWarning } from "lucide-react"; import { useEllipsisVisible } from "react-hook-text-overflow"; import { ActionButton } from "../../../../components/action-button"; import { resendPopup, testPopup } from "./api"; import { useEffect } from "react"; import { sse } from "@/lib/db/sse-endpoints"; import { useRouter } from "next/navigation"; const columns: ColumnDef[] = [ { accessorKey: "name", header: "Name", meta: { className: "w-50 truncate" } }, { accessorKey: "message", cell(props) { const [overflow, ref] = useEllipsisVisible(); return overflow ? (
{props.row.original.message}
{props.row.original.name}
{props.row.original.message}
{`${props.row.original.amount}฿${props.row.original.uid ? ` - UID ${props.row.original.uid}` : ""}`}
) : (
{props.row.original.message}
); }, header: "Message", meta: { className: "w-full" }, }, { accessorFn: (row) => `${row.amount}฿`, header: "Amount", meta: { className: "w-24" }, }, { accessorKey: "id", header() { return ( ); }, cell(row) { return (
resendPopup(row.row.original.id)} > {row.row.original.uid && ( navigator.clipboard.writeText(row.row.original.uid!) } > )}
); }, meta: { className: "w-24 p-0" }, }, ]; export function DonateAdminPage({ data, }: { data: (typeof donations.$inferSelect)[]; }) { const router = useRouter(); useEffect(() => { if (!router) return; return sse.donate.sub("ping", () => router.refresh()).clean; }, [router]); return (
Donate List
); }