Files
buzz-sheet/lib/guides/team-search.ts
T
gunshiz c7b75a5ad4
CI / Verify (push) Successful in 1m5s
CI / Build immutable images and deploy (push) Successful in 1m56s
feat : quick update
2026-09-04 16:12:43 +07:00

31 lines
635 B
TypeScript

export type TeamSearchTarget =
| "all"
| "team"
| "character"
| "weapon"
| "artifact";
export interface TeamSearchValues {
team: string[];
character: string[];
weapon: string[];
artifact: string[];
}
export function matchesTeamSearch(
values: TeamSearchValues,
query: string,
target: TeamSearchTarget,
): boolean {
const normalizedQuery = query.trim().toLocaleLowerCase();
if (!normalizedQuery) return true;
const candidates = target === "all"
? Object.values(values).flat()
: values[target];
return candidates.some((value) =>
value.toLocaleLowerCase().includes(normalizedQuery),
);
}