fix matches page filter params propagation

This commit is contained in:
Ilion Beyst 2022-10-25 18:57:58 +02:00
parent e3164246e1
commit 55c76db7b6
2 changed files with 38 additions and 26 deletions

View file

@ -66,32 +66,34 @@
<div class="container">
<Visualizer {matchLog} {matchData} />
<div class="output-pane">
<div class="player-select">
{#if playersWithVisibleLog.length == 1}
<h3 class="player-log-header">
player log for
<span style:color={selectedPlayer["color"]}>{selectedPlayer.displayName}</span>
</h3>
{:else}
<Select
items={playersWithVisibleLog}
label="displayName"
clearable={false}
searchable={false}
bind:value={dropdownSelectedPlayer}
placeholder="Select player to see logs"
>
<div slot="item" let:item>
<span style:color={item.color}>{item.displayName}</span>
</div>
</Select>
{/if}
{#if playersWithVisibleLog.length > 0}
<div class="output-pane">
<div class="player-select">
{#if playersWithVisibleLog.length == 1}
<h3 class="player-log-header">
player log for
<span style:color={selectedPlayer["color"]}>{selectedPlayer.displayName}</span>
</h3>
{:else}
<Select
items={playersWithVisibleLog}
label="displayName"
clearable={false}
searchable={false}
bind:value={dropdownSelectedPlayer}
placeholder="Select player to see logs"
>
<div slot="item" let:item>
<span style:color={item.color}>{item.displayName}</span>
</div>
</Select>
{/if}
</div>
<div class="player-log">
<PlayerLog {matchLog} playerId={selectedPlayer?.["playerId"]} />
</div>
</div>
<div class="player-log">
<PlayerLog {matchLog} playerId={selectedPlayer?.["playerId"]} />
</div>
</div>
{/if}
</div>
<style lang="scss">

View file

@ -8,11 +8,18 @@
const apiClient = new ApiClient(fetch);
const botName = url.searchParams.get("bot");
let searchParams = removeUndefined({
bot: url.searchParams.get("bot"),
opponent: url.searchParams.get("opponent"),
outcome: url.searchParams.get("outcome"),
had_errors: url.searchParams.get("had_errors"),
});
let query = {
count: PAGE_SIZE,
before: url.searchParams.get("before"),
after: url.searchParams.get("after"),
bot: botName,
...searchParams,
};
let { matches, has_next } = await apiClient.get("/api/matches", removeUndefined(query));
@ -28,6 +35,7 @@
botName,
hasNext: has_next,
query,
searchParams,
},
};
} catch (error) {
@ -57,6 +65,7 @@
// whether a next page exists in the current iteration direction (before/after)
export let hasNext: boolean;
export let query: object;
export let searchParams: object;
type Cursor = {
before?: string;
@ -65,6 +74,7 @@
function pageLink(cursor: Cursor) {
let paramsObj = {
...searchParams,
...cursor,
};
if (botName) {