Add pre-commit hooks for linting and formatting
Set up pre-commit framework with ruff (backend) and ESLint/Prettier/tsc (frontend) hooks to catch issues locally before CI. Auto-format all frontend files with Prettier to comply with the new check. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -36,15 +36,17 @@ export const createGame = (data: CreateGameInput) =>
|
||||
export const updateGame = (id: number, data: UpdateGameInput) =>
|
||||
api.put<Game>(`/games/${id}`, data)
|
||||
|
||||
export const deleteGame = (id: number) =>
|
||||
api.del(`/games/${id}`)
|
||||
export const deleteGame = (id: number) => api.del(`/games/${id}`)
|
||||
|
||||
// Routes
|
||||
export const createRoute = (gameId: number, data: CreateRouteInput) =>
|
||||
api.post<Route>(`/games/${gameId}/routes`, data)
|
||||
|
||||
export const updateRoute = (gameId: number, routeId: number, data: UpdateRouteInput) =>
|
||||
api.put<Route>(`/games/${gameId}/routes/${routeId}`, data)
|
||||
export const updateRoute = (
|
||||
gameId: number,
|
||||
routeId: number,
|
||||
data: UpdateRouteInput
|
||||
) => api.put<Route>(`/games/${gameId}/routes/${routeId}`, data)
|
||||
|
||||
export const deleteRoute = (gameId: number, routeId: number) =>
|
||||
api.del(`/games/${gameId}/routes/${routeId}`)
|
||||
@@ -53,7 +55,12 @@ export const reorderRoutes = (gameId: number, routes: RouteReorderItem[]) =>
|
||||
api.put<Route[]>(`/games/${gameId}/routes/reorder`, { routes })
|
||||
|
||||
// Pokemon
|
||||
export const listPokemon = (search?: string, limit = 50, offset = 0, type?: string) => {
|
||||
export const listPokemon = (
|
||||
search?: string,
|
||||
limit = 50,
|
||||
offset = 0,
|
||||
type?: string
|
||||
) => {
|
||||
const params = new URLSearchParams()
|
||||
if (search) params.set('search', search)
|
||||
if (type) params.set('type', type)
|
||||
@@ -68,11 +75,17 @@ export const createPokemon = (data: CreatePokemonInput) =>
|
||||
export const updatePokemon = (id: number, data: UpdatePokemonInput) =>
|
||||
api.put<Pokemon>(`/pokemon/${id}`, data)
|
||||
|
||||
export const deletePokemon = (id: number) =>
|
||||
api.del(`/pokemon/${id}`)
|
||||
export const deletePokemon = (id: number) => api.del(`/pokemon/${id}`)
|
||||
|
||||
export const bulkImportPokemon = (items: Array<{ pokeapiId: number; nationalDex: number; name: string; types: string[]; spriteUrl?: string | null }>) =>
|
||||
api.post<BulkImportResult>('/pokemon/bulk-import', items)
|
||||
export const bulkImportPokemon = (
|
||||
items: Array<{
|
||||
pokeapiId: number
|
||||
nationalDex: number
|
||||
name: string
|
||||
types: string[]
|
||||
spriteUrl?: string | null
|
||||
}>
|
||||
) => api.post<BulkImportResult>('/pokemon/bulk-import', items)
|
||||
|
||||
export const bulkImportEvolutions = (items: unknown[]) =>
|
||||
api.post<BulkImportResult>('/evolutions/bulk-import', items)
|
||||
@@ -84,7 +97,12 @@ export const bulkImportBosses = (gameId: number, items: unknown[]) =>
|
||||
api.post<BulkImportResult>(`/games/${gameId}/bosses/bulk-import`, items)
|
||||
|
||||
// Evolutions
|
||||
export const listEvolutions = (search?: string, limit = 50, offset = 0, trigger?: string) => {
|
||||
export const listEvolutions = (
|
||||
search?: string,
|
||||
limit = 50,
|
||||
offset = 0,
|
||||
trigger?: string
|
||||
) => {
|
||||
const params = new URLSearchParams()
|
||||
if (search) params.set('search', search)
|
||||
if (trigger) params.set('trigger', trigger)
|
||||
@@ -99,8 +117,7 @@ export const createEvolution = (data: CreateEvolutionInput) =>
|
||||
export const updateEvolution = (id: number, data: UpdateEvolutionInput) =>
|
||||
api.put<EvolutionAdmin>(`/evolutions/${id}`, data)
|
||||
|
||||
export const deleteEvolution = (id: number) =>
|
||||
api.del(`/evolutions/${id}`)
|
||||
export const deleteEvolution = (id: number) => api.del(`/evolutions/${id}`)
|
||||
|
||||
// Export
|
||||
export const exportGames = () =>
|
||||
@@ -119,11 +136,20 @@ export const exportEvolutions = () =>
|
||||
api.get<Record<string, unknown>[]>('/export/evolutions')
|
||||
|
||||
// Route Encounters
|
||||
export const addRouteEncounter = (routeId: number, data: CreateRouteEncounterInput) =>
|
||||
api.post<RouteEncounterDetail>(`/routes/${routeId}/pokemon`, data)
|
||||
export const addRouteEncounter = (
|
||||
routeId: number,
|
||||
data: CreateRouteEncounterInput
|
||||
) => api.post<RouteEncounterDetail>(`/routes/${routeId}/pokemon`, data)
|
||||
|
||||
export const updateRouteEncounter = (routeId: number, encounterId: number, data: UpdateRouteEncounterInput) =>
|
||||
api.put<RouteEncounterDetail>(`/routes/${routeId}/pokemon/${encounterId}`, data)
|
||||
export const updateRouteEncounter = (
|
||||
routeId: number,
|
||||
encounterId: number,
|
||||
data: UpdateRouteEncounterInput
|
||||
) =>
|
||||
api.put<RouteEncounterDetail>(
|
||||
`/routes/${routeId}/pokemon/${encounterId}`,
|
||||
data
|
||||
)
|
||||
|
||||
export const removeRouteEncounter = (routeId: number, encounterId: number) =>
|
||||
api.del(`/routes/${routeId}/pokemon/${encounterId}`)
|
||||
@@ -132,8 +158,11 @@ export const removeRouteEncounter = (routeId: number, encounterId: number) =>
|
||||
export const createBossBattle = (gameId: number, data: CreateBossBattleInput) =>
|
||||
api.post<BossBattle>(`/games/${gameId}/bosses`, data)
|
||||
|
||||
export const updateBossBattle = (gameId: number, bossId: number, data: UpdateBossBattleInput) =>
|
||||
api.put<BossBattle>(`/games/${gameId}/bosses/${bossId}`, data)
|
||||
export const updateBossBattle = (
|
||||
gameId: number,
|
||||
bossId: number,
|
||||
data: UpdateBossBattleInput
|
||||
) => api.put<BossBattle>(`/games/${gameId}/bosses/${bossId}`, data)
|
||||
|
||||
export const deleteBossBattle = (gameId: number, bossId: number) =>
|
||||
api.del(`/games/${gameId}/bosses/${bossId}`)
|
||||
@@ -141,15 +170,17 @@ export const deleteBossBattle = (gameId: number, bossId: number) =>
|
||||
export const reorderBosses = (gameId: number, bosses: BossReorderItem[]) =>
|
||||
api.put<BossBattle[]>(`/games/${gameId}/bosses/reorder`, { bosses })
|
||||
|
||||
export const setBossTeam = (gameId: number, bossId: number, team: BossPokemonInput[]) =>
|
||||
api.put<BossBattle>(`/games/${gameId}/bosses/${bossId}/pokemon`, team)
|
||||
export const setBossTeam = (
|
||||
gameId: number,
|
||||
bossId: number,
|
||||
team: BossPokemonInput[]
|
||||
) => api.put<BossBattle>(`/games/${gameId}/bosses/${bossId}/pokemon`, team)
|
||||
|
||||
// Genlockes
|
||||
export const updateGenlocke = (id: number, data: UpdateGenlockeInput) =>
|
||||
api.patch<Genlocke>(`/genlockes/${id}`, data)
|
||||
|
||||
export const deleteGenlocke = (id: number) =>
|
||||
api.del(`/genlockes/${id}`)
|
||||
export const deleteGenlocke = (id: number) => api.del(`/genlockes/${id}`)
|
||||
|
||||
export const addGenlockeLeg = (genlockeId: number, data: AddGenlockeLegInput) =>
|
||||
api.post<Genlocke>(`/genlockes/${genlockeId}/legs`, data)
|
||||
|
||||
Reference in New Issue
Block a user