import { LocationFakeData, type LocationListType, } from "@/features/location/lib/data"; import LocationDetailDialog from "@/features/location/ui/LocationDetailDialog"; import formatDate from "@/shared/lib/formatDate"; import { Button } from "@/shared/ui/button"; import { Calendar } from "@/shared/ui/calendar"; import { Input } from "@/shared/ui/input"; import { Popover, PopoverContent, PopoverTrigger } from "@/shared/ui/popover"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/shared/ui/table"; import clsx from "clsx"; import { ChevronDownIcon, ChevronLeft, ChevronRight, Eye, Trash2, } from "lucide-react"; import { useMemo, useState } from "react"; const LocationList = () => { const [data, setData] = useState(LocationFakeData); const [detail, setDetail] = useState(null); const [detailDialog, setDetailDialog] = useState(false); const [currentPage, setCurrentPage] = useState(1); const totalPages = 5; // Filter state const [dateFilter, setDateFilter] = useState(undefined); const [searchUser, setSearchUser] = useState(""); const [open, setOpen] = useState(false); const handleDelete = (id: number) => { setData((prev) => prev.filter((e) => e.id !== id)); }; // Filtered data const filtered = useMemo(() => { return data.filter((item) => { const dateMatch = dateFilter ? item.createdAt.toDateString() === dateFilter.toDateString() : true; const userMatch = `${item.user.firstName} ${item.user.lastName}` .toLowerCase() .includes(searchUser.toLowerCase()); return dateMatch && userMatch; }); }, [data, dateFilter, searchUser]); return (

Jo'natilgan lokatsiyalar

{ setDateFilter(date); setOpen(false); }} />
setSearchUser(e.target.value)} />
# Jo'natgan foydalanuvchi Jo'natgan vaqti Qayerdan jo'natdi Amallar {filtered.map((item, index) => ( {index + 1} {item.user.firstName} {item.user.lastName} {formatDate.format(item.createdAt, "DD-MM-YYYY")} {item.district ? "Tuman" : item.object ? "Obyekt" : item.doctor ? "Shifokor" : item.pharmcies ? "Dorixona" : "Turgan joyidan"} ))}
{Array.from({ length: totalPages }, (_, i) => ( ))}
); }; export default LocationList;