From 74656deb5838fa3a590f09b002a59492dfe8b1df Mon Sep 17 00:00:00 2001 From: shintaxx Date: Wed, 19 Jun 2024 13:00:43 +0900 Subject: [PATCH] Update index.svelte Added a function to ignore extraneous data included in the JSON data. The JSON data is expected to be mechanically generated, so modifying the JSON data itself was considered inappropriate. --- src/routes/achievement/index.svelte | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/routes/achievement/index.svelte b/src/routes/achievement/index.svelte index e5426139..3e9fcbb8 100644 --- a/src/routes/achievement/index.svelte +++ b/src/routes/achievement/index.svelte @@ -21,7 +21,7 @@ let achievementContainer; - let data = achievementData; + let data = ignoreNonExistentAchievements(achievementData); let achievement = data; let checkList = {}; @@ -269,7 +269,7 @@ async function changeLocale(locale) { const data = await import(`../../data/achievement/${locale}.json`); - achievement = data.default; + achievement = ignoreNonExistentAchievements(data.default); sortedAchievements = Object.entries(achievement).sort((a, b) => a[1].order - b[1].order); sortedAchievements.forEach(([id, data], i) => { categories[i].name = data.name; @@ -327,6 +327,20 @@ parseCategories(); changeCategory('0', 0, true); } + + function ignoreNonExistentAchievements(origin) { + //ignore 81416,81418,81426,81429,81451,81453 + const ignores = [81416, 81418, 81426, 81429, 81451, 81453]; + return Object.entries(origin).reduce( + (prev,current) => { + current[1].achievements = + current[1].achievements.filter( + item => { return !ignores.includes(item.id); } + ); + prev[current[0]] = current[1]; + return prev; + }, {}); + } onMount(async () => { process();