diff --git a/frontend/src/ts/collections/results.ts b/frontend/src/ts/collections/results.ts index 137e650e55f8..4d5552764584 100644 --- a/frontend/src/ts/collections/results.ts +++ b/frontend/src/ts/collections/results.ts @@ -33,7 +33,7 @@ import { } from "./tags"; import { isAuthenticated } from "../states/core"; import { createEffectOn } from "../hooks/effects"; -import { getLastResult } from "../states/snapshot"; +import { getLastResult, setLastResult } from "../states/snapshot"; export type ResultsQueryState = { difficulty: SnapshotResult["difficulty"][]; @@ -229,9 +229,18 @@ const resultsCollection = createCollection( throw new Error("Error fetching results:" + response.body.message); } - return response.body.data.map((result) => + const results = response.body.data.map((result) => normalizeResult(result, knownTagIds), ); + + if (getLastResult() === undefined && results.length > 0) { + const lastResult = results.reduce((acc, cur) => + acc === undefined || acc.timestamp < cur.timestamp ? cur : acc, + ); + setLastResult(lastResult); + } + + return results; }, queryClient, getKey: (it) => it._id,