import SidebarLayout from "@/SidebarLayout"; import type { RegionListResData } from "@/features/region/lib/data"; import { user_api } from "@/features/users/lib/api"; import type { UserListData } from "@/features/users/lib/data"; import DeleteUser from "@/features/users/ui/DeleteUser"; import Filter from "@/features/users/ui/Filter"; import UserTable from "@/features/users/ui/UserTable"; import Pagination from "@/shared/ui/pagination"; import { useQuery } from "@tanstack/react-query"; import { useState } from "react"; const UsersList = () => { const [editingUser, setEditingUser] = useState(null); const [searchTerm, setSearchTerm] = useState(""); const [regionValue, setRegionValue] = useState( null, ); const limit = 20; const [currentPage, setCurrentPage] = useState(1); const [statusFilter, setStatusFilter] = useState<"all" | "true" | "false">( "all", ); const [userDelete, setUserDelete] = useState(null); const [opneDelete, setOpenDelete] = useState(false); const { data, isLoading, isError } = useQuery({ queryKey: ["user_list", currentPage, statusFilter, regionValue, searchTerm], queryFn: () => { const params: { limit?: number; offset?: number; search?: string; is_active?: boolean | string; region_id?: number; } = { limit, offset: (currentPage - 1) * limit, search: searchTerm, }; if (regionValue !== null) { params.region_id = Number(regionValue.id); } if (statusFilter !== "all") { params.is_active = statusFilter; } return user_api.list(params); }, }); const [dialogOpen, setDialogOpen] = useState(false); const handleDelete = (user: UserListData) => { setUserDelete(user); setOpenDelete(true); }; const totalPages = data ? Math.ceil(data.data.data.count / limit) : 1; return (

Foydalanuvchilar ro'yxati

); }; export default UsersList;