{trigger?.name ?? $t('redeployTriggers.titleSingular')} · Tinyforge
{#snippet stats()}
KIND
{trigger ? kindLabel(trigger.kind).toUpperCase() : '—'}
{$t('redeployTriggers.stat.boundWorkloads')}
{trigger ? String(trigger.binding_count).padStart(2, '0') : '—'}
WEBHOOK
{trigger ? (trigger.webhook_enabled ? 'ON' : '—') : '—'}
{/snippet} {#if error} {/if} {#if loading || !trigger}
{#each Array(3) as _, i}
{/each}
{:else}

{$t('redeployTriggers.detail.config')}.

{$t('redeployTriggers.detail.configSub', { kind: trigger.kind, id: trigger.id, updatedAt: trigger.updated_at })}
{#if trigger.kind === 'schedule'}

{$t('redeployTriggers.detail.scheduleStatus')}.

{$t('redeployTriggers.detail.scheduleStatusSub')}
{$t('redeployTriggers.detail.lastFired')} {formatLastFired(trigger.last_fired_at)}
{#if fireResult}
{$t('redeployTriggers.detail.fireResult', { deployed: String(fireResult.deployed), bindings: String(fireResult.bindings), errored: String(fireResult.errored) })}
{/if}
{/if}

{$t('redeployTriggers.detail.webhook')}.

{$t('redeployTriggers.detail.webhookSub')}
{#if !detailsLoaded}
{:else if webhook && trigger.webhook_enabled}
{$t('redeployTriggers.detail.webhookUrlLabel')}
{fullWebhookUrl()}
{$t('redeployTriggers.detail.webhookUrlNote')} {#if copied} {$t('redeployTriggers.detail.webhookCopied')} {/if}
{$t('redeployTriggers.detail.webhookRequireSig')} {trigger.webhook_require_signature ? 'ON' : 'OFF'}
{:else}
OFF

{$t('redeployTriggers.detail.webhookDisabledNote')}

{/if}

{$t('redeployTriggers.detail.bindings')}.

{$t('redeployTriggers.detail.bindingsSub')}
{#if !detailsLoaded}
{:else if bindings.length === 0}

{$t('redeployTriggers.detail.bindingsEmpty')}

{:else}
    {#each bindings as b, i (b.id)}
  • {String(i + 1).padStart(2, '0')} {b.workload_name || b.workload_id} {b.enabled ? $t('redeployTriggers.binding.enabled') : $t('redeployTriggers.binding.disabled')}
    toggleBinding(b, next)} label={$t('redeployTriggers.binding.enabled')} />
  • {/each}

{$t('redeployTriggers.detail.bindingEnabledHint')}

{/if}

{$t('redeployTriggers.detail.dangerZone')}.

{$t('redeployTriggers.detail.dangerZoneSub')}
(confirmDelete = false)} /> (confirmRotate = false)} /> (confirmFire = false)} /> (confirmUnbindId = null)} /> {/if}