From 17c8f6d5d713494a99a42f764a347baf308f9eae Mon Sep 17 00:00:00 2001 From: Miodec Date: Sun, 4 May 2025 11:57:50 +0200 Subject: [PATCH] impr: show loading bar when fetching language/quotes to indicate background activity --- frontend/src/ts/test/test-logic.ts | 4 ++++ frontend/src/ts/test/words-generator.ts | 3 +++ 2 files changed, 7 insertions(+) diff --git a/frontend/src/ts/test/test-logic.ts b/frontend/src/ts/test/test-logic.ts index cba101548..fc0e8627c 100644 --- a/frontend/src/ts/test/test-logic.ts +++ b/frontend/src/ts/test/test-logic.ts @@ -76,6 +76,7 @@ import { SnapshotResult } from "../constants/default-snapshot"; import { WordGenError } from "../utils/word-gen-error"; import { tryCatch } from "@monkeytype/util/trycatch"; import { captureException } from "../sentry"; +import * as Loader from "../elements/loader"; let failReason = ""; const koInputVisual = document.getElementById("koInputVisual") as HTMLElement; @@ -410,9 +411,12 @@ export async function init(): Promise { TestInput.input.resetHistory(); TestInput.input.current = ""; + Loader.show(); const { data: language, error } = await tryCatch( JSONData.getLanguage(Config.language) ); + Loader.hide(); + if (error) { Notifications.add( Misc.createErrorMessage(error, "Failed to load language"), diff --git a/frontend/src/ts/test/words-generator.ts b/frontend/src/ts/test/words-generator.ts index 7803e8632..da3da7632 100644 --- a/frontend/src/ts/test/words-generator.ts +++ b/frontend/src/ts/test/words-generator.ts @@ -23,6 +23,7 @@ import { isFunboxActiveWithFunction, } from "./funbox/list"; import { WordGenError } from "../utils/word-gen-error"; +import * as Loader from "../elements/loader"; function shouldCapitalize(lastChar: string): boolean { return /[?!.؟]/.test(lastChar); @@ -499,10 +500,12 @@ async function getQuoteWordList( ? "german" : language.name; + Loader.show(); const quotesCollection = await QuotesController.getQuotes( languageToGet, Config.quoteLength ); + Loader.hide(); if (quotesCollection.length === 0) { UpdateConfig.setMode("words");