Files

27 lines
797 B
TypeScript
Raw Permalink Normal View History

2025-12-09 14:15:23 +07:00
import { useQuery } from '@tanstack/react-query';
import { api } from '../../api/index';
2025-12-09 14:15:23 +07:00
export const winnerKeys = {
all: ['winners'] as const,
lists: () => [...winnerKeys.all, 'list'] as const,
};
interface Team {
id: string; name: string; description: string; city: string; visibility: string;
logo: string; banner: string; leader_id: string; created_at: string; updated_at: string;
2025-12-09 14:15:23 +07:00
}
interface Winner {
id: string; team_id: string; team: Team; rank: number; prize: string;
announced_at: string; created_at: string; updated_at: string;
2025-12-09 14:15:23 +07:00
}
export const useWinners = () => {
return useQuery({
2025-12-09 14:15:23 +07:00
queryKey: winnerKeys.lists(),
queryFn: async () => {
const response = await api.get<{ data: Winner[] }>('/v1/hackathon/winners');
2025-12-09 14:15:23 +07:00
return response.data;
},
});
};