aboutsummaryrefslogtreecommitdiff
path: root/src/lib/User/BadgeWall/AWC.svelte
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/User/BadgeWall/AWC.svelte')
-rw-r--r--src/lib/User/BadgeWall/AWC.svelte30
1 files changed, 16 insertions, 14 deletions
diff --git a/src/lib/User/BadgeWall/AWC.svelte b/src/lib/User/BadgeWall/AWC.svelte
index 52eb670a..6d8dcf76 100644
--- a/src/lib/User/BadgeWall/AWC.svelte
+++ b/src/lib/User/BadgeWall/AWC.svelte
@@ -14,17 +14,17 @@ export let preferences: Preferences;
const awcBadgesGrouped = (awcResponse: string): AWCBadgesGroup[] => {
return Array.from(
new DOMParser().parseFromString(awcResponse, 'text/html').querySelectorAll('.container')
- )
- .map((c) => {
- const container = c as HTMLDivElement;
- const header = container.querySelector('.container-header') as HTMLDivElement;
+ ).flatMap((c) => {
+ const container = c as HTMLDivElement;
+ const header = container.querySelector('.container-header') as HTMLDivElement;
- if (!header) return;
+ if (!header) return [];
- if (!['Anime', 'Manga', 'Special'].includes(header.innerText)) return;
+ if (!['Anime', 'Manga', 'Special'].includes(header.innerText)) return [];
- if (header.innerText === 'Special') {
- return {
+ if (header.innerText === 'Special') {
+ return [
+ {
group: header.innerText,
badges: Array.from(container.querySelectorAll('.badge-display img')).map((b) => {
const badge = b as HTMLImageElement;
@@ -37,10 +37,12 @@ const awcBadgesGrouped = (awcResponse: string): AWCBadgesGroup[] => {
: badge.src
};
})
- };
- }
+ }
+ ];
+ }
- return {
+ return [
+ {
group: header.innerText,
badges: Array.from(container.querySelectorAll('.badge-display a')).map((b) => {
const badge = b as HTMLAnchorElement;
@@ -54,9 +56,9 @@ const awcBadgesGrouped = (awcResponse: string): AWCBadgesGroup[] => {
: image.src
};
})
- };
- })
- .filter((b) => b !== undefined) as AWCBadgesGroup[];
+ }
+ ];
+ }) as AWCBadgesGroup[];
};
</script>