"use client";

import { usePermissions } from "./hooks/use-permissions";

type Props = {
  permission?: string;
  any?: string[];
  fallback?: React.ReactNode;
  children: React.ReactNode;
};

export function Can({ permission, any: anyPermissions, fallback = null, children }: Props) {
  const { can, canAny } = usePermissions();

  if (permission && !can(permission)) {
    return <>{fallback}</>;
  }

  if (anyPermissions && !canAny(anyPermissions)) {
    return <>{fallback}</>;
  }

  return <>{children}</>;
}
