import Link from "next/link";
export const dynamic = 'force-dynamic';
import React from 'react';
import UsersTable from "@/components/users/UsersTable";
import { deleteUser, getUsers } from "@/actions/user-api/user-api";

type SearchParams = { page?: string; term?: string };
type Props = { searchParams?: Promise<SearchParams> | SearchParams };
export const metadata={
    title: "Paintings|Admin Users",
    description: "Admin Users",
}

async function Page({ searchParams }: Props) {
    const sp = (await searchParams) ?? {};
    const page = sp.page ?? 1;
    const term = sp.term ?? '';

    const res = await getUsers(page, term);
    if (!res.success) throw new Error(res.message);

    async function Delete(id: any) {
        'use server';
        return await deleteUser(id);
    }

    return (
        <div className="p-6 ">
            <div className="bg-color p-3 rounded-md shadow-md">
                <div className="flex items-center justify-between p-2">
                    <h1 className="text-lg font-semibold text-color dark:dark-text-color">
                        Admin Users
                    </h1>
                    <Link href="/create-user" className="primary-btn px-4 py-2 rounded">
                        Add User
                    </Link>
                </div>
                <UsersTable data={res.data} deleteUser={Delete} />
            </div>
        </div>
    );
}

export default Page;
