Skip to content

Commit 765ca95

Browse files
committed
refactor: use loadingOptions for leaderboards page
1 parent 5d169e9 commit 765ca95

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

frontend/src/ts/controllers/page-controller.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,9 +275,9 @@ export async function change(
275275
typeof nextPageLoadingMode === "object" &&
276276
nextPageLoadingMode.mode === "async"
277277
) {
278-
nextPageLoadingMode.beforeLoading();
278+
nextPageLoadingMode.beforeLoading?.();
279279
void nextPage?.loadingOptions?.loadingPromise().then(() => {
280-
nextPageLoadingMode.afterLoading();
280+
nextPageLoadingMode.afterLoading?.();
281281
});
282282
}
283283

frontend/src/ts/pages/leaderboards.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1485,13 +1485,19 @@ export const page = new PageWithUrlParams({
14851485
element: qsr(".page.pageLeaderboards"),
14861486
path: "/leaderboards",
14871487
urlParamsSchema: UrlParameterSchema,
1488+
loadingOptions: {
1489+
style: "spinner",
1490+
loadingMode: () => "sync",
1491+
loadingPromise: async () => {
1492+
await ServerConfiguration.configurationPromise;
1493+
},
1494+
},
14881495

14891496
afterHide: async (): Promise<void> => {
14901497
Skeleton.remove("pageLeaderboards");
14911498
stopTimer();
14921499
},
14931500
beforeShow: async (options): Promise<void> => {
1494-
await ServerConfiguration.configurationPromise;
14951501
Skeleton.append("pageLeaderboards", "main");
14961502
await updateValidDailyLeaderboards();
14971503
await appendModeAndLanguageButtons();

frontend/src/ts/pages/page.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export type LoadingOptions = {
3434
loadingMode: () =>
3535
| "none"
3636
| "sync"
37-
| { mode: "async"; beforeLoading: () => void; afterLoading: () => void };
37+
| { mode: "async"; beforeLoading?: () => void; afterLoading?: () => void };
3838
/**
3939
* When this promise resolves, the loading screen will be hidden.
4040
*/

0 commit comments

Comments
 (0)