"use client";
import PageHeader from "@/components/PageHeder";
import ActionButton from "@/components/action-button";
import FilterForm from "@/components/common/filter-form";
import { ticketFilter } from "@/components/forms/schema/ticket-filter";
import TicketForm from "@/components/tickets/ticket-form";
import TicketList from "@/components/tickets/ticket-list";
import { usePermission } from "@/utils/auth/permission";
import { FC, useState } from "react";

const TicketContent: FC = () => {
  const [isOpen, setOpen] = useState(false);
  const [filterValue, setFilter] = useState<string | null>(null);
  return (
    <div>
      <PageHeader className="pb-2">
        <div className="flex justify-between !p-0">
          <h2 className="text-xl font-semibold">Tickets</h2>
          {usePermission("tickets.create") && (
            <div className="flex">
              <ActionButton
                type="add"
                className="mr-2"
                onClick={() => setOpen(true)}
              >
                Add
              </ActionButton>
              <TicketForm isOpen={isOpen} setOpen={setOpen} />
            </div>
          )}
        </div>
        <div className="block border-t mt-2">
          <FilterForm schema={ticketFilter} grids={5} setFilter={setFilter} />
        </div>
      </PageHeader>
      <div className="overflow-hidden shadow">
        <TicketList filterValue={filterValue} />
      </div>
    </div>
  );
};

export default TicketContent; 