import { useEffect, useReducer, useState } from "react"; import { Alert, AlertIcon } from "@chakra-ui/react"; import { SpinnerPage, tableEventReducer } from "src/components"; import { useUsers } from "src/hooks"; import Table from "./Table"; const initialState = { offset: 0, limit: 10, sortBy: [ { id: "name", desc: false, }, ], filters: [], }; function TableWrapper() { const [{ offset, limit, sortBy, filters }, dispatch] = useReducer( tableEventReducer, initialState, ); const [tableData, setTableData] = useState(null); const { isFetching, isLoading, isError, error, data } = useUsers( offset, limit, sortBy, filters, ); useEffect(() => { setTableData(data as any); }, [data]); if (isFetching || isLoading || !tableData) { return ; } if (isError) { return ( {error?.message || "Unknown error"} ); } if (typeof data?.total === "undefined") { return ( There was an error fetching the data. ); } const pagination = { offset: data?.offset, limit: data?.limit, total: data?.total, }; return ( ); } export default TableWrapper;