import { trpc } from "@/app/_trpc/client"; import { User } from "@/server/user/domain/models"; import React, { useEffect, useState } from "react"; export default function useGetUsers() { const [users, setUsers] = useState([]); const [data] = trpc.users.getUsers.useSuspenseQuery(undefined,{ refetchOnMount:"always", refetchOnWindowFocus:false }); useEffect(()=>{ setUsers(data as any) },[data]) const handleUpdateUser=(userToUpdate:User)=>{ setUsers((prev)=>prev.map(item=>{ const userInList=item.id === userToUpdate.id return userInList ?{...item,...userToUpdate}:item })) } const handleDeleteUser=(userId:string)=>{ setUsers((prev)=>prev.filter(user=>user.id !== userId)) } return({ users, handleUpdateUser, handleDeleteUser }) }