This refactors the collection pages (teams, saved and profiles) into a bunch of hooks that handle various chunks of functionality. This way, the actual "pages" have significantly less logic.
21 lines
556 B
TypeScript
21 lines
556 B
TypeScript
import cloneDeep from 'lodash.clonedeep'
|
|
|
|
export function convertAdvancedFilters(filters: FilterSet): ConvertedFilters {
|
|
let copy: FilterSet = cloneDeep(filters)
|
|
|
|
const includes: string = filterString(filters.includes || [])
|
|
const excludes: string = filterString(filters.excludes || [])
|
|
|
|
delete (copy as any).includes
|
|
delete (copy as any).excludes
|
|
|
|
return {
|
|
...copy,
|
|
includes,
|
|
excludes,
|
|
} as ConvertedFilters
|
|
}
|
|
|
|
export function filterString(list: MentionItem[]): string {
|
|
return list.map((item) => item.granblue_id).join(',')
|
|
}
|