import { plans_api } from "@/features/plans/lib/api"; import type { PlanListData } from "@/features/plans/lib/data"; import DeletePlan from "@/features/plans/ui/DeletePlan"; import FilterPlans from "@/features/plans/ui/FilterPlans"; import PalanTable from "@/features/plans/ui/PalanTable"; import PlanDetail from "@/features/plans/ui/PlanDetail"; import formatDate from "@/shared/lib/formatDate"; import Pagination from "@/shared/ui/pagination"; import { useQuery } from "@tanstack/react-query"; import { useState } from "react"; const PlansList = () => { const [currentPage, setCurrentPage] = useState(1); const [statusFilter, setStatusFilter] = useState("all"); const [dateFilter, setDateFilter] = useState(undefined); const [open, setOpen] = useState(false); const [searchUser, setSearchUser] = useState(""); const limit = 20; const { data, isLoading, isError, isFetching } = useQuery({ queryKey: ["plan_list", dateFilter, searchUser, statusFilter, currentPage], queryFn: () => { const params: { limit?: number; offset?: number; status?: boolean; date?: string; user?: string; } = { date: dateFilter && formatDate.format(dateFilter, "YYYY-MM-DD"), user: searchUser, limit, offset: (currentPage - 1) * limit, }; if (statusFilter !== "all") { params.status = statusFilter === "true" ? true : false; } return plans_api.list(params); }, select(data) { return data.data.data; }, }); const totalPages = data ? Math.ceil(data.count / limit) : 1; const [editingPlan, setEditingPlan] = useState(null); const [dialogOpen, setDialogOpen] = useState(false); const [detail, setDetail] = useState(false); const [openDelete, setOpenDelete] = useState(false); const [planDelete, setPlanDelete] = useState(null); const handleDelete = (id: PlanListData) => { setOpenDelete(true); setPlanDelete(id); }; return (

Rejalarni boshqarish

); }; export default PlansList;