17 lines
495 B
TypeScript
17 lines
495 B
TypeScript
import { useQuery } from '@tanstack/react-query';
|
|
import { api, type Member } from '@/lib/api';
|
|
|
|
export function useMembers() {
|
|
return useQuery<Member[]>({
|
|
queryKey: ['members'],
|
|
queryFn: () => api.get('/members').then((r) => r.data),
|
|
staleTime: 60_000,
|
|
});
|
|
}
|
|
|
|
/** Returns a lookup map of id → member for O(1) access */
|
|
export function useMembersMap() {
|
|
const { data = [] } = useMembers();
|
|
return Object.fromEntries(data.map((m) => [m.id, m])) as Record<number, Member>;
|
|
}
|