"use client";
import { useState, type FC } from "react";
import { HiPlus } from "react-icons/hi";

import Button from "@/components/Button";
import NetworkForm from "@/components/network/network-form";
import NetworksList from "@/components/network/network-list";
import { usePermission } from "@/utils/auth/permission";

const NetworkListContent: FC = () => {
  const [networkIds, setNetworkIds] = 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">
              All networks
            </h1>
            <div className="ml-auto flex items-center space-x-2 sm:space-x-3">
              {usePermission("networks.create") && (
                <>
                  <Button color="blue" onClick={() => setOpen(true)}>
                    <HiPlus className="text-xl" />
                    Add Network
                  </Button>
                  <NetworkForm 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">
              <NetworksList
                setNetworkIds={setNetworkIds}
                networkIds={networkIds}
              />
            </div>
          </div>
        </div>
      </div>
    </>
  );
};

export default NetworkListContent;
