{list?.name ?? 'list'} · consume·rs {#if auth.loaded && auth.user}
← all lists
{list?.emoji ?? '✦'}

{list?.name ?? '…'}

{#if list?.description}

{list.description}

{/if}
{#if list}
{#if !isOwner} {role === 'editor' ? '✎ editor' : '☑ cross-off'} {/if} {#if isOwner} {#if list.share_token} {:else} {/if} {/if}
{/if}
{#if list?.share_token}
public link e.currentTarget.select()} /> open ↗
{/if} {#if isOwner && showSettings}

list settings

let anyone with the link cross items off

for gift/birthday lists — visitors don't need an account to mark something as taken. {#if !list?.share_token}share the list first to use this.{/if}

invite collaborators

create a link, then share it. whoever opens it (and logs in) joins with that role.

{#if invites.length}
    {#each invites as inv (inv.id)}
  • {inv.role} e.currentTarget.select()} />
  • {/each}
{/if}
{#if collaborators.length}

collaborators

    {#each collaborators as c (c.user_id)}
  • {c.display_name ?? c.email} {c.role}
  • {/each}
{/if}
{/if}
{#if canEdit}
{#if showDetails}
{/if} {#if formError}

{formError}

{/if}
{:else if formError}

{formError}

{/if} {#if !loaded}

loading items…

{:else if loadError}

{loadError}

{:else if items.length === 0}

this list is empty

add something you want above to begin.

{:else} {/if}
{:else}

loading…

{/if}