{title ? `${title} · libreDecision` : 'libreDecision'} {#if doc.error} doc.load(group, slug)} /> {:else if view}

{view.doc.groupName}{t('nav.docs')}

{title}

{summary}

{i18n.plural('docs.inForce', doc.inForce.length)} · {i18n.plural('docs.open', doc.open.length)} {#if view.doc.publication.state === 'done'} · {t('doc.published')}{:else if view.doc.publication.state === 'pending'} · {t('doc.publish.pending')}{/if}

{#each VIEWS as v (v)} {/each}
{#each LANGS as l (l)} {/each}
{#if lang !== source}

{t('doc.lang.translation')}

{/if} {#if doc.mode !== 'inforce'}

{t(`doc.view.${doc.mode}.note`)}

{/if}
{#if doc.mode === 'inforce' || !doc.preview} {#each doc.inForce as u (u.id)} {#if u.inForce} onUnit(u, tab)} /> {/if} {:else}

{t('doc.empty')}

{/each} {:else} {#each doc.preview as pu (pu.unitId)} {@const u = doc.unit(pu.unitId)} u && (pu.proposalId ? openPanel({ unitId: u.id, proposalId: pu.proposalId, tab }) : onUnit(u, tab))} /> {/each} {#if doc.preview.every((x) => x.mark === 'unchanged')}

{t('doc.view.empty')}

{/if} {/if}
{#if doc.drafts.length}

{t('deep.drafts')}

{t('deep.drafts.note')}

    {#each doc.drafts as { unit, proposal } (proposal.id)}
  • {/each}
{/if}

{t('deep.title')}

{t('deep.note', { floor: view.doc.voteFloor })}

{#each ['all', 'wellrated', 'mine'] as const as f (f)} {/each}
{#if panel} openPanel(p)} onclose={() => openPanel(null)} /> {/if} {/if} e.key === 'Escape' && panel && openPanel(null)} />