"use client"; import { useGetUsersQuery } from "@/state/api"; import { useAppSelector } from "@/app/redux"; import React from "react"; import Header from "@/app/components/Header"; import { DataGrid, GridColDef, GridToolbarContainer, GridToolbarExport, GridToolbarFilterButton, } from "@mui/x-data-grid"; import Image from "next/image"; import { dataGridSxStyles } from "@/lib/utils"; const CustomToolbar = () => ( ); const columns: GridColDef[] = [ { field: "userId", headerName: "ID", width: 100 }, { field: "username", headerName: "Username", width: 150 }, { field: "profilePictureUrl", headerName: "Profile Picture", width: 100, renderCell: (params) => (
{params.row.username}
), }, ]; const Users = () => { const { data: users, isLoading, isError } = useGetUsersQuery(); const isDarkMode = useAppSelector((state) => state.global.isDarkMode); if (isLoading) return
Loading...
; if (isError || !users) return
Error fetching users
; return (
row.userId} pagination slots={{ toolbar: CustomToolbar, }} className="border border-gray-200 bg-white shadow dark:border-stroke-dark dark:bg-dark-secondary dark:text-gray-200" sx={dataGridSxStyles(isDarkMode)} />
); }; export default Users;