From 74c5059ccfa2ea83788b2d83fc317eb6ec06c50c Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Sun, 16 Aug 2026 21:02:49 +0300 Subject: [PATCH] Fix mutation --- .../leaderboards/components/TeamStaffMenu.svelte | 9 +++------ .../features/leaderboards/components/TeamTable.svelte | 2 +- .../src/lib/features/leaderboards/leaderboards.remote.ts | 6 +++--- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/apps/web/src/lib/features/leaderboards/components/TeamStaffMenu.svelte b/apps/web/src/lib/features/leaderboards/components/TeamStaffMenu.svelte index 931e4d90a..6429566cd 100644 --- a/apps/web/src/lib/features/leaderboards/components/TeamStaffMenu.svelte +++ b/apps/web/src/lib/features/leaderboards/components/TeamStaffMenu.svelte @@ -6,17 +6,14 @@ import { skipTeam, unskipTeam, } from "../leaderboards.remote.ts"; -import type { LeaderboardsQueryArgs } from "../leaderboards-schemas.ts"; import type { TeamLeaderboardEntry } from "../leaderboards-types.ts"; interface Props { entry: Pick; season: number; - /** The query args of the leaderboard the client currently shows, so the mutation can update it single-flight. */ - queryArgs: LeaderboardsQueryArgs; } -let { entry, season, queryArgs }: Props = $props(); +let { entry, season }: Props = $props(); const fields = $derived({ season, identifier: entry.identifier }); @@ -36,7 +33,7 @@ const fields = $derived({ season, identifier: entry.identifier }); {/snippet} {#if entry.isSkipped} unskipTeam(fields).updates(getLeaderboards(queryArgs))} + onAction={() => unskipTeam(fields).updates(getLeaderboards)} > {#snippet icon()}{/snippet} Unskip @@ -44,7 +41,7 @@ const fields = $derived({ season, identifier: entry.identifier }); {:else} skipTeam(fields).updates(getLeaderboards(queryArgs))} + onAction={() => skipTeam(fields).updates(getLeaderboards)} > {#snippet icon()}{/snippet} Skip diff --git a/apps/web/src/lib/features/leaderboards/components/TeamTable.svelte b/apps/web/src/lib/features/leaderboards/components/TeamTable.svelte index 5adb1826f..e4a440876 100644 --- a/apps/web/src/lib/features/leaderboards/components/TeamTable.svelte +++ b/apps/web/src/lib/features/leaderboards/components/TeamTable.svelte @@ -52,7 +52,7 @@ const showQualificationDividers = $derived( {/snippet} {#snippet staffActions()} - + {/snippet} {@render placementRow({ rank: entry.placementRank, diff --git a/apps/web/src/lib/features/leaderboards/leaderboards.remote.ts b/apps/web/src/lib/features/leaderboards/leaderboards.remote.ts index bbd1cc3ed..aeae8b0de 100644 --- a/apps/web/src/lib/features/leaderboards/leaderboards.remote.ts +++ b/apps/web/src/lib/features/leaderboards/leaderboards.remote.ts @@ -6,7 +6,7 @@ import type { weaponCategories } from "@sendou/in-game-lists/weapon-ids"; import { logger } from "@sendou/utils/logger"; import { getUser, requireUser } from "#lib/features/auth/user.server.ts"; import { requireRole } from "#lib/modules/permissions/guards.server.ts"; -import { command, query } from "$app/server"; +import { command, query, requested } from "$app/server"; import * as Seasons from "../mmr/Seasons.ts"; import * as LeaderboardRepository from "./LeaderboardRepository.server.ts"; import { WEAPON_LEADERBOARD_MAX_SIZE } from "./leaderboards-constants.ts"; @@ -101,7 +101,7 @@ export const skipTeam = command( ); clearCachedTeamLeaderboards(season); - void getLeaderboards({ type: "TEAM", season }).refresh(); + await requested(getLeaderboards, 5).refreshAll(); }, ); @@ -117,6 +117,6 @@ export const unskipTeam = command( ); clearCachedTeamLeaderboards(season); - void getLeaderboards({ type: "TEAM", season }).refresh(); + await requested(getLeaderboards, 5).refreshAll(); }, );