{$t('redeployTriggers.title')} · Tinyforge
{#snippet toolbar()} {$t('redeployTriggers.toolbar.newButton')} {/snippet} {#snippet stats()}
{$t('redeployTriggers.stat.total')}
{loading ? '—' : String(triggers.length).padStart(2, '0')}
{$t('redeployTriggers.stat.withWebhook')}
{loading ? '—' : String(withWebhook).padStart(2, '0')}
{$t('redeployTriggers.stat.boundWorkloads')}
{loading ? '—' : String(totalBindings).padStart(2, '0')}
{/snippet} {#snippet lede()} {$t('redeployTriggers.lede')} {/snippet} {#if error} {/if} {#if !loading && triggers.length > 0}
{#each presentKinds as k} {/each}
{/if} {#if loading}
{#each Array(3) as _, i}
{/each}
{:else if triggers.length === 0}

{$t('redeployTriggers.empty.heading')}

{$t('redeployTriggers.empty.body')}

{$t('redeployTriggers.empty.cta')}
{:else}
{#each filtered as trig, i (trig.id)} {/each}
{$t('redeployTriggers.list.name')} {$t('redeployTriggers.list.kind')} {$t('redeployTriggers.list.bindings')} {$t('redeployTriggers.list.webhook')} {$t('redeployTriggers.list.created')} {$t('redeployTriggers.list.open')}
{String(i + 1).padStart(2, '0')} {trig.name} {kindShort(trig.kind)} {kindLabel(trig.kind)} {#if trig.binding_count > 0} {trig.binding_count} {:else} {$t('redeployTriggers.list.noBindings')} {/if} {trig.webhook_enabled ? $t('redeployTriggers.list.webhookOn') : $t('redeployTriggers.list.webhookOff')} {fmtCreated(trig.created_at)} {$t('observability.open')}
{/if}