aboutsummaryrefslogtreecommitdiff
path: root/src/routes/user
diff options
context:
space:
mode:
authorFuwn <[email protected]>2024-01-04 23:54:07 -0800
committerFuwn <[email protected]>2024-01-04 23:55:12 -0800
commit13735f9cf2a6e490128ca49c2fb6343074d26256 (patch)
tree8551c2ee8a574d3db43cd687c17de255e8f8c809 /src/routes/user
parentrefactor(badges): move ui to card (diff)
downloaddue.moe-13735f9cf2a6e490128ca49c2fb6343074d26256.tar.xz
due.moe-13735f9cf2a6e490128ca49c2fb6343074d26256.zip
feat(badges): disable download if too many
Diffstat (limited to 'src/routes/user')
-rw-r--r--src/routes/user/[user]/badges/+page.svelte15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte
index e0ca15d5..91c95e72 100644
--- a/src/routes/user/[user]/badges/+page.svelte
+++ b/src/routes/user/[user]/badges/+page.svelte
@@ -22,6 +22,9 @@
let confirmDelete = 0;
let selectedBadge: Badge | undefined = undefined;
let loadError: string | null = null;
+ let badgeCount = 0;
+
+ $: downloadDisabled = badgeCount > 20;
type GroupedBadges = { [key: string]: Badge[] };
@@ -173,6 +176,8 @@
const groupBadges = (badges: Badge[]) => {
const groupedBadges: GroupedBadges = {};
+ badgeCount = badges.length;
+
badges.forEach((badge) => {
if (!badge.category) badge.category = 'Uncategorised';
@@ -217,10 +222,14 @@
{editMode ? 'Disable' : 'Enable'} Edit Mode
</button>
- <button on:click={() => screenshot()}>Download</button>
+ <button
+ disabled={downloadDisabled}
+ on:click={() => (downloadDisabled ? undefined : screenshot())}>Download</button
+ >
- <input type="checkbox" bind:checked={dark} /> Dark Mode
- <input type="checkbox" bind:checked={transparent} /> Transparent Background
+ <input disabled={downloadDisabled} type="checkbox" bind:checked={dark} /> Dark Mode
+ <input disabled={downloadDisabled} type="checkbox" bind:checked={transparent} /> Transparent
+ Background
{/if}
{#if editMode && isOwner}