From 3d4053ce4015c561968c151b78190513f9f06f95 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 15 May 2024 17:57:04 -0700 Subject: feat(badges): move admin panel into owner panel --- src/routes/user/[user]/badges/+page.svelte | 401 +++++++++++++++-------------- 1 file changed, 203 insertions(+), 198 deletions(-) (limited to 'src/routes') diff --git a/src/routes/user/[user]/badges/+page.svelte b/src/routes/user/[user]/badges/+page.svelte index 565cb73b..9e4ef7cf 100644 --- a/src/routes/user/[user]/badges/+page.svelte +++ b/src/routes/user/[user]/badges/+page.svelte @@ -497,15 +497,7 @@ groupBadges(removeHiddenBadges(isOwner, ungroupedBadges)) )} - {#if authorised} -
- -
- -

- {/if} - - {#if isOwner} + {#if isOwner || authorised} {@const shadowHidden = ungroupedBadges.filter((badge) => badge.shadow_hidden).length > 0} @@ -544,193 +536,123 @@

- - - - - - - - - - - {#if shadowHidden} - - + {#if authorised} + {/if} - {#if editMode && isOwner} - {@const groups = groupedBadges - .map((group) => group[0]) - .filter((group) => group !== 'Uncategorised')} - {@const designers = castAsStringArray([ - ...new Set( - ungroupedBadges - .map((badge) => badge.designer) - .filter((designer) => designer !== undefined && designer !== null) - .filter( - (designer, index, array) => - array.indexOf(designer) === index && !array.includes(`@${designer}`) - ) - ) - ])} + {#if isOwner && authorised} + + {/if} -

+ {#if isOwner} + + + + + + + + + - {#if error} -

{error}

+ {#if shadowHidden} + + {/if} - - - - ({ - name: group, - url: '#', - onClick: () => { - const category = document.querySelector('input[name="category"]'); - - if (category instanceof HTMLInputElement) category.value = group; - } - }))} - header={false} - center={false} - > - - - - - + {#if editMode && isOwner} + {@const groups = groupedBadges + .map((group) => group[0]) + .filter((group) => group !== 'Uncategorised')} + {@const designers = castAsStringArray([ + ...new Set( + ungroupedBadges + .map((badge) => badge.designer) + .filter((designer) => designer !== undefined && designer !== null) + .filter( + (designer, index, array) => + array.indexOf(designer) === index && !array.includes(`@${designer}`) + ) + ) + ])} + +

+ + {#if error} +

{error}

+ {/if} + + - Must be full date and time, defaults to now if any fields empty -
- -

- -

({ - name: designer, - url: '#', - onClick: () => { - const designerField = document.querySelector('input[name="designer"]'); - - if (designerField instanceof HTMLInputElement) - designerField.value = designer; - } - }))} - header={false} - center={false} - > - - - - - ({ - name: hidden ? 'Hidden' : 'Shown', + items={groups.map((group) => ({ + name: group, url: '#', onClick: () => { - const hiddenInput = document.querySelector('input[name="hidden"]'); + const category = document.querySelector('input[name="category"]'); - if (hiddenInput instanceof HTMLInputElement) - hiddenInput.value = hidden ? 'Hidden' : 'Shown'; + if (category instanceof HTMLInputElement) category.value = group; } }))} header={false} @@ -739,34 +661,117 @@ - - {#if selectedBadge} - {$locale().user.badges.editMode.or} - + + Must be full date and time, defaults to now if any fields empty - {/if} -
+ + +

+ +

+ + ({ + name: designer, + url: '#', + onClick: () => { + const designerField = + document.querySelector('input[name="designer"]'); + + if (designerField instanceof HTMLInputElement) + designerField.value = designer; + } + }))} + header={false} + center={false} + > + + + + + ({ + name: hidden ? 'Hidden' : 'Shown', + url: '#', + onClick: () => { + const hiddenInput = document.querySelector('input[name="hidden"]'); + + if (hiddenInput instanceof HTMLInputElement) + hiddenInput.value = hidden ? 'Hidden' : 'Shown'; + } + }))} + header={false} + center={false} + > + + + + + + {#if selectedBadge} + {$locale().user.badges.editMode.or} + + {/if} +
+ {/if} {/if}
{/if} -- cgit v1.2.3