diff --git a/frontend/src/ts/test/wikipedia.ts b/frontend/src/ts/test/wikipedia.ts index fc5470228958..e1b67c423492 100644 --- a/frontend/src/ts/test/wikipedia.ts +++ b/frontend/src/ts/test/wikipedia.ts @@ -4,236 +4,8 @@ import * as Strings from "../utils/strings"; import * as JSONData from "../utils/json-data"; import { z } from "zod"; import { parseWithSchema as parseJsonWithSchema } from "@monkeytype/util/json"; -import { getGroupForLanguage, LanguageGroupName } from "../constants/languages"; import { Language } from "@monkeytype/schemas/languages"; -export async function getTLD( - languageGroup: LanguageGroupName, -): Promise< - | "en" - | "es" - | "fr" - | "de" - | "pt" - | "ar" - | "it" - | "la" - | "af" - | "ko" - | "ru" - | "pl" - | "cs" - | "sk" - | "uk" - | "lt" - | "id" - | "el" - | "tr" - | "th" - | "ta" - | "sl" - | "hr" - | "nl" - | "da" - | "hu" - | "no" - | "nn" - | "he" - | "ms" - | "ro" - | "fi" - | "et" - | "cy" - | "fa" - | "kk" - | "vi" - | "sv" - | "sr" - | "ka" - | "ca" - | "bg" - | "eo" - | "bn" - | "ur" - | "hy" - | "my" - | "hi" - | "mk" - | "uz" - | "be" - | "az" - | "lv" - | "eu" -> { - // language group to tld - switch (languageGroup) { - case "english": - return "en"; - - case "spanish": - return "es"; - - case "french": - return "fr"; - - case "german": - return "de"; - - case "portuguese": - return "pt"; - - case "arabic": - return "ar"; - - case "italian": - return "it"; - - case "latin": - return "la"; - - case "afrikaans": - return "af"; - - case "korean": - return "ko"; - - case "russian": - return "ru"; - - case "polish": - return "pl"; - - case "czech": - return "cs"; - - case "slovak": - return "sk"; - - case "ukrainian": - return "uk"; - - case "lithuanian": - return "lt"; - - case "indonesian": - return "id"; - - case "greek": - return "el"; - - case "turkish": - return "tr"; - - case "thai": - return "th"; - - case "tamil": - return "ta"; - - case "slovenian": - return "sl"; - - case "croatian": - return "hr"; - - case "dutch": - return "nl"; - - case "danish": - return "da"; - - case "hungarian": - return "hu"; - - case "norwegian_bokmal": - return "no"; - - case "norwegian_nynorsk": - return "nn"; - - case "hebrew": - return "he"; - - case "malay": - return "ms"; - - case "romanian": - return "ro"; - - case "finnish": - return "fi"; - - case "estonian": - return "et"; - - case "welsh": - return "cy"; - - case "persian": - return "fa"; - - case "kazakh": - return "kk"; - - case "vietnamese": - return "vi"; - - case "swedish": - return "sv"; - - case "serbian": - return "sr"; - - case "georgian": - return "ka"; - - case "catalan": - return "ca"; - - case "bulgarian": - return "bg"; - - case "esperanto": - return "eo"; - - case "bangla": - return "bn"; - - case "urdu": - return "ur"; - - case "armenian": - return "hy"; - - case "myanmar": - return "my"; - - case "hindi": - return "hi"; - - case "macedonian": - return "mk"; - - case "uzbek": - return "uz"; - - case "belarusian": - return "be"; - - case "azerbaijani": - return "az"; - - case "latvian": - return "lv"; - - case "euskera": - return "eu"; - - default: - return "en"; - } -} - type Post = { title: string; author: string; @@ -264,12 +36,8 @@ export async function getSection( showLoaderBar(); // get TLD for wikipedia according to language group - let urlTLD = "en"; - - const currentLanguageGroup = getGroupForLanguage(language); - if (currentLanguageGroup !== undefined) { - urlTLD = await getTLD(currentLanguageGroup); - } + const languageProperties = await JSONData.getLanguage(language); + const urlTLD = languageProperties.bcp47?.split("-")[0] ?? "en"; const randomPostURL = `https://${urlTLD}.wikipedia.org/api/rest_v1/page/random/summary`; const sectionObj: SectionObject = { title: "", author: "" };