"use client";
import { useState, type FC } from "react";
import { HiPlus } from "react-icons/hi";

import Button from "@/components/Button";
import PackageForm from "@/components/packages/package-form";
import PackageList from "@/components/packages/package-list";
import { usePermission } from "@/utils/auth/permission";

const NetworkListContent: FC = () => {
  const [packageIds, setPackageIds] = useState([]);
  const [isOpen, setOpen] = useState(false);
  return (
    <>
      <div className="block items-center justify-between border-b border-gray-200 bg-white p-4 dark:border-gray-700 dark:bg-gray-800 sm:flex">
        <div className="mb-1 w-full">
          <div className="flex">
            <h1 className="text-xl font-semibold text-gray-900 dark:text-white sm:text-2xl">
              Packages
            </h1>
            <div className="ml-auto flex items-center space-x-2 sm:space-x-3">
              {usePermission("packages.create") && (
                <>
                  <Button color="blue" onClick={() => setOpen(true)}>
                    <HiPlus className="text-xl" />
                    Add Package
                  </Button>
                  <PackageForm isOpen={isOpen} setOpen={setOpen} />
                </>
              )}
            </div>
          </div>
        </div>
      </div>
      <div className="flex flex-col">
        <div className="overflow-x-auto">
          <div className="inline-block min-w-full align-middle">
            <div className="overflow-hidden shadow">
              <PackageList
                setPackageIds={setPackageIds}
                packageIds={packageIds}
              />
            </div>
          </div>
        </div>
      </div>
    </>
  );
};

export default NetworkListContent;
