diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/routes/user/[user]/badges/+page.svelte | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index f45ee1e7..7db57cd1 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -504,6 +504,13 @@ <Skeleton grid={true} count={100} width="150px" height="170px" /> {:then ungroupedBadges} + {@const isBadgeSelected = + selectedBadge && + selectedBadge !== undefined && + selectedBadge.image && + selectedBadge.image !== undefined && + !editMode} + <div id="badges"> {#await awcPromise then badges} {#await badges.clone().text() then text} @@ -551,8 +558,7 @@ <div class="card"> <button on:click={() => { - if (editMode) selectedBadge = undefined; - + selectedBadge = undefined; editMode = !editMode; }} > @@ -563,8 +569,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (importMode) selectedBadge = undefined; - + selectedBadge = undefined; importMode = !importMode; }} > @@ -575,8 +580,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (migrateMode) selectedBadge = undefined; - + selectedBadge = undefined; migrateMode = !migrateMode; }} > @@ -585,8 +589,7 @@ <span style="margin: 0 0.625rem;">•</span> <button on:click={() => { - if (hideMode) selectedBadge = undefined; - + selectedBadge = undefined; hideMode = !hideMode; }} > @@ -829,15 +832,17 @@ {/if} </div> - <Popup - fullscreen - show={selectedBadge !== undefined && selectedBadge.image !== undefined && !editMode} - onLeave={() => { - selectedBadge = undefined; - }} - > - <BadgePreview badge={selectedBadge} /> - </Popup> + {#if isBadgeSelected} + <Popup + fullscreen + show={isBadgeSelected} + onLeave={() => { + selectedBadge = undefined; + }} + > + <BadgePreview badge={selectedBadge} /> + </Popup> + {/if} {:catch} <Popup fullscreen locked>Could not parse badges</Popup> {/await} |