player filter by steamid

This commit is contained in:
Robin Appelman 2023-04-16 14:42:30 +02:00
commit 8fa199f735
5 changed files with 65 additions and 31 deletions

View file

@ -3,22 +3,29 @@ import {ready} from "./ready";
import {FilterBar} from "./filterbar"
import {Api} from "./api";
let lastFilter = {
mode: "",
map: "",
players: []
};
ready(() => {
const filterBar = document.getElementById('filter-bar');
const maps = filterBar.dataset.maps.split(",");
const apiBase = filterBar.dataset.apiBase;
const api = new Api(apiBase);
const demoListBody = document.querySelector('.demolist tbody');
const searchParams = new URLSearchParams(window.location.search);
render(() => <FilterBar maps={maps} api={api} onChange={onFilter.bind(null, api, demoListBody)}/>, filterBar);
lastFilter = {
mode: searchParams.get("mode") || "",
map: searchParams.get("map") || "",
players: (searchParams.get("players") || "").split(",")
};
render(() => <FilterBar maps={maps} api={api} initialFilter={lastFilter} onChange={onFilter.bind(null, api, demoListBody)}/>, filterBar);
});
let lastFilter = {
mode: "",
map: "",
players: []
};
const filterEq = (a, b) => {
return (a.mode || "") === (b.mode || "")
&& (a.map || "") === (b.map || "")
@ -32,7 +39,7 @@ const onFilter = async (api, demoListBody, filter) => {
lastFilter = filter;
let queryParams = new URLSearchParams({
players: filter.players.map(player => player.id).join(','),
players: filter.players.map(player => player.steamid).join(','),
mode: (filter.mode || "").toLowerCase(),
map: filter.map || "",
});