hensei-web/utils/extractFilters.tsx
Justin Edmund c9014913db Add api call for raidGroups and update pages
Pages fetch raids and store them in the app state. We needed to update this to pull raid groups instead
2023-06-05 20:18:17 -07:00

30 lines
936 B
TypeScript

import { elements, allElement } from '~data/elements'
export default (
query: { [index: string]: string },
raidGroups: RaidGroup[]
) => {
// Extract recency filter
const recencyParam: number = parseInt(query.recency)
// Extract element filter
const elementParam: string = query.element
const teamElement: TeamElement | undefined =
elementParam === 'all'
? allElement
: elements.find(
(element) => element.name.en.toLowerCase() === elementParam
)
// Extract raid filter
const allRaids = raidGroups.flatMap((group) => group.raids)
const raidParam: string = query.raid
const raid: Raid | undefined = allRaids.find((r) => r.slug === raidParam)
// Return filter object
return {
recency: recencyParam && recencyParam !== -1 ? recencyParam : undefined,
element: teamElement && teamElement.id > -1 ? teamElement.id : undefined,
raid: raid ? raid.id : undefined,
}
}