From fe3ff17367fcfe4806219ff9337beaa9bba11758 Mon Sep 17 00:00:00 2001 From: Justin Edmund Date: Sat, 20 Dec 2025 04:15:56 -0800 Subject: [PATCH] add crew roster page for checking member collections --- src/routes/(app)/crew/roster/+page.svelte | 550 ++++++++++++++++++++++ 1 file changed, 550 insertions(+) create mode 100644 src/routes/(app)/crew/roster/+page.svelte diff --git a/src/routes/(app)/crew/roster/+page.svelte b/src/routes/(app)/crew/roster/+page.svelte new file mode 100644 index 00000000..b610cfb3 --- /dev/null +++ b/src/routes/(app)/crew/roster/+page.svelte @@ -0,0 +1,550 @@ + + + + + + Crew Roster / granblue.team + + +
+
+ + + + +
+ + +
+ + {#snippet option(opt)} + {@const item = opt as SearchOption} + + {/snippet} + + {#if isSearching} + ... + {/if} +
+ + +
+ {#if isLoadingRoster} +
Loading...
+ {:else if rosterData.length > 0} +
+ {#if selectedItems.length > 0} +
+
+ {#each selectedItems as item (item.id + item.type)} +
+ + {#snippet content()} +
+ {item.name} + {#if item.type === 'Character'} + + {/if} +
+ {/snippet} + {#snippet children()} +
+ {item.name} + +
+ {/snippet} +
+
+ {/each} +
+ {/if} +
+ {#each rosterData as member (member.userId)} +
+
+ {member.username} + {#if member.role !== 'member'} + {getRoleLabel(member.role)} + {/if} +
+ {#each selectedItems as item (item.id + item.type)} + {@const ownership = getOwnershipInfo(member, item)} +
+ {#if ownership} + + {:else} + + {/if} +
+ {/each} +
+ {/each} +
+
+ {:else} +
No crew members found
+ {/if} +
+
+
+
+ +