import ErrorMessages from "@/components/common/error-messages";
import PermissionList from "@/components/permissions/permission-list";
import getData from "@/utils/fetch";

interface PageProps {
  params: { id: string };
  searchParams: { [key: string]: string | undefined }; // Search params as an object
}

export default async function ResellerPermission({
  params,
  searchParams,
}: PageProps) {
  const { id } = params;
  const type = searchParams?.type;
  if (type === "user" || type === "reseller") {
    const url = `/api/v1/${type}-permissions/${id}`;
    const response = await getData(url);
    if (!response?.success) {
      return (
        <ErrorMessages
          message={response?.message ?? response?.error?.message}
        />
      );
    }
    const role_id = response?.data?.role_id;
    const permissions = response?.data?.permissions;
    // console.log(role_id, permissions);
    return (
      <div className="overflow-hidden">
        <PermissionList
          role_id={role_id}
          resellerPermissions={permissions}
          user_type={type}
        />
      </div>
    );
  }
  return (
    <h1 className="p-5 text-center font-bold text-red-600">
      <ErrorMessages message={`Invalid User`} />
    </h1>
  );
}
