"use client";
import { DatabaseBackupIcon } from "lucide-react";
import { PaginatedTable } from "../../../_components/PaginatedTable";
import Link from "next/link";
import { ColumnDef } from "@tanstack/react-table";
import { Prisma, Station } from "@repo/db";

const page = () => {
	return (
		<>
			<PaginatedTable
				prismaModel="station"
				showSearch
				getFilter={(searchField) =>
					({
						OR: [
							{ bosCallsign: { contains: searchField, mode: "insensitive" } },
							{ operator: { contains: searchField, mode: "insensitive" } },
						],
					}) as Prisma.StationWhereInput
				}
				stickyHeaders
				columns={
					[
						{
							header: "BOS Name",
							accessorKey: "bosCallsign",
						},
						{
							header: "Bos Use",
							accessorKey: "bosUse",
						},
						{
							header: "Country",
							accessorKey: "country",
						},
						{
							header: "operator",
							accessorKey: "operator",
						},
						{
							header: "Aktionen",
							cell: ({ row }) => (
								<div className="flex items-center gap-1">
									<Link href={`/admin/station/${row.original.id}`}>
										<button className="btn btn-sm">Edit</button>
									</Link>
								</div>
							),
						},
					] as ColumnDef<Station>[]
				}
				leftOfSearch={
					<span className="flex items-center gap-2">
						<DatabaseBackupIcon className="h-5 w-5" /> Stationen
					</span>
				}
				rightOfSearch={
					<p className="flex items-center justify-between gap-2 text-left text-2xl font-semibold">
						<Link href={"/admin/station/new"}>
							<button className="btn btn-sm btn-outline btn-primary">Erstellen</button>
						</Link>
					</p>
				}
			/>
		</>
	);
};

export default page;
