{#snippet avatar(name: string, size: "sm" | "md" = "md")} {@const hue = hueFromName(name || "?")} {initialsFromName(name || "?")} {/snippet} {#snippet commentBody(c: PublicComment)} {#if editingId === c.id}
{editError}
{c.body}
{t(T.comments_load_error_title)}
{loadError}
{t(T.comments_empty)}
{replyError}
{submitError}
{totalPending === 1 ? t(T.comments_pending_summary_one) : t(T.comments_pending_summary_other, { count: totalPending })}
{#each Array(2) as _, i (i)}-
{/each}
{:else if loadError}{t(T.comments_load_error_title)}
{loadError}
{t(T.comments_empty)}
{#each topLevel as c (c.id)} {@const replies = repliesOf(c.id)}-
{@render avatar(c.author)}
{@render meta(c)}
{@render commentBody(c)}
{#if replyTo === c.id}
{/if}
{#if replies.length > 0}
{/each}
{/if} {/if}{#each replies as r (r.id)}-
{@render avatar(r.author, "sm")}
{@render meta(r)}
{@render commentBody(r)}
{/each}
{/if}