From 75a526b066c04e44eff926c88c732c655df311fc Mon Sep 17 00:00:00 2001 From: Fuwn Date: Fri, 19 Apr 2024 17:01:19 -0700 Subject: feat(BadgePreview): category field --- src/lib/BadgeWall/BadgePreview.svelte | 76 ++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 33 deletions(-) (limited to 'src/lib/BadgeWall') diff --git a/src/lib/BadgeWall/BadgePreview.svelte b/src/lib/BadgeWall/BadgePreview.svelte index 0f9cab1c..ef5c8159 100644 --- a/src/lib/BadgeWall/BadgePreview.svelte +++ b/src/lib/BadgeWall/BadgePreview.svelte @@ -8,7 +8,7 @@ import { cubicOut } from 'svelte/easing'; import { tweened } from 'svelte/motion'; - export let badge: Badge | undefined; + export let selectedBadge: Badge | undefined; let badgeReference: HTMLImageElement; const mouse = tweened( @@ -39,22 +39,20 @@ }; onMount(() => { - if (badge && badge.image) { + if (selectedBadge && selectedBadge.image) { const image = new Image(); - image.src = cdn(badge.image) || ''; - + image.src = cdn(selectedBadge.image) || ''; image.onload = () => { badgeReference.src = image.src; - console.log('loaded'); }; } }); -{#if badge} +{#if selectedBadge}
- {#if badge.image} + {#if selectedBadge.image}
{badge.description}

{/if} - {#if badge.time} - {$locale().dateFormatter(databaseTimeToDate(badge.time))} + {#if selectedBadge.time} + {$locale().dateFormatter(databaseTimeToDate(selectedBadge.time))} - {#if (badge.designer || badge.source || badge.post) && !badge.description} + {#if (selectedBadge.designer || selectedBadge.source || selectedBadge.post) && !selectedBadge.description}

- {:else if badge.description} + {:else if selectedBadge.description}
{/if} {/if} - {#if badge.description} - {badge.description} + {#if selectedBadge.description} + {selectedBadge.description} - {#if badge.designer || badge.source || badge.post} + {#if selectedBadge.designer || selectedBadge.source || selectedBadge.post}

{/if} {/if} - {#if badge.designer} + {#if selectedBadge.designer} Designer: - {#if badge.designer.startsWith('http')} - - {badge.designer} + {#if selectedBadge.designer.startsWith('http')} + + {selectedBadge.designer} - {:else if badge.designer.startsWith('@')} - - {badge.designer} + {:else if selectedBadge.designer.startsWith('@')} + + {selectedBadge.designer} {:else} - {badge.designer} + {selectedBadge.designer} {/if}
{/if} - {#if badge.post} - {badge.post.includes('forum') ? 'Forum' : 'Activity'}: + {#if selectedBadge.post} + {selectedBadge.post.includes('forum') ? 'Forum' : 'Activity'}: - - {badge.post} + + {selectedBadge.post}
{/if} - {#if badge.source} + {#if selectedBadge.source} Source: - {#if badge.source.startsWith('http')} - - {badge.source} + {#if selectedBadge.source.startsWith('http')} + + {selectedBadge.source} {:else} - {badge.source} + {selectedBadge.source} {/if} + +
+ {/if} + + {#if selectedBadge.category} + Category: + + (selectedBadge = undefined)}> + {selectedBadge.category} + + +
{/if}

{/if} -- cgit v1.2.3