import { authOptions } from "@/app/auth"; import { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { getDevices } from "@/queries/devices"; import { tryCatch } from "@/utils/tryCatch"; import { getServerSession } from "next-auth"; import ClickableRow from "./clickable-row"; import DeviceCard from "./device-card"; import Pagination from "./pagination"; export async function DevicesTable({ searchParams, parentalControl, }: { searchParams: Promise<{ query: string; page: number; sortBy: string; }>; parentalControl?: boolean; }) { const session = await getServerSession(authOptions); const isAdmin = session?.user?.is_superuser; const query = (await searchParams)?.query || ""; const [error, devices] = await tryCatch(getDevices({ query: query })); if (error) { return
{JSON.stringify(error, null, 2)}
; } const { meta, data } = devices; return (
{data.length === 0 ? (

No devices yet.

) : ( <>
Table of all devices. Device Name MAC Address # {data.map((device) => ( ))} {query.length > 0 && (

Showing {meta.total} locations for "{query} "

)}
{meta.total} devices
{JSON.stringify(meta, null, 2)}
{data.map((device) => ( ))}
)}
); }