From 8cc8b6f89a3a843c6444eb163cc21b7485d5f227 Mon Sep 17 00:00:00 2001 From: noa Date: Fri, 23 Feb 2024 10:52:08 +0100 Subject: [PATCH] simplify response handling and improve api constant name --- resources/js/Components/LanguageSelector.vue | 21 +++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/resources/js/Components/LanguageSelector.vue b/resources/js/Components/LanguageSelector.vue index f4d1a24f..9d4ba14d 100644 --- a/resources/js/Components/LanguageSelector.vue +++ b/resources/js/Components/LanguageSelector.vue @@ -47,7 +47,7 @@ import languageData from "@wikimedia/language-data"; const searchInput: Ref = ref(''); const highlightedIndex: Ref = ref(-1); const closeUrl = ref(closeUrlSvg); -const apiSearchInput = ref(['']); +const apiLanguageCodes = ref(['']); const input = ref | null>(null); @@ -64,11 +64,11 @@ const languages = computed(() => { }); const shownLanguages = computed(() => { - return languages.value.filter((language) => - language.code.startsWith( - searchInput.value.toLowerCase() ) || - language.autonym.toLowerCase().includes( - searchInput.value.toLowerCase()) || apiSearchInput.value.includes(language.code)) + return languages.value.filter((language) => + language.code.startsWith(searchInput.value.toLowerCase()) || + language.autonym.toLowerCase().includes(searchInput.value.toLowerCase()) || + apiLanguageCodes.value.includes(language.code) + ) }); function onInput(searchedLanguage: string): void { @@ -83,14 +83,11 @@ async function getApiLanguageCodes(inputValue: string) { { params: { search: inputValue, - origin:'*' // avoid CORS console errors + origin: '*' // avoid CORS console errors } }).then((response) => { - const languageCodes = Object.keys(response.data.languagesearch); - languageCodes.forEach(languageCode => { - apiSearchInput.value.push(languageCode); - }); - }) ; + apiLanguageCodes.value = Object.keys(response.data.languagesearch); + }); } function onSelect(languageCode: string): void {