{t('webhookLogs.title')} {#if loaded && logs.length > 0}
{logs.length}
{/if}
{#if expanded}
{#if loading}
{t('common.loading')}
{:else if logs.length === 0}
{t('webhookLogs.empty')}
{:else}
showClearConfirm = true} class="text-xs px-2 py-1 rounded-md transition-colors hover:bg-[var(--color-error-bg)] text-[var(--color-error-fg)]" > {t('webhookLogs.clear')}
{#each logs as log}
toggleExpand(log.id)} class="w-full text-left px-3 py-2 rounded-md text-sm transition-colors hover:bg-[var(--color-sidebar-active)]" style="background: {expandedId === log.id ? 'var(--color-sidebar-active)' : 'transparent'};" >
{formatTime(log.created_at)}
{log.method}
{statusLabel(log.status)}
{#if log.error_message && log.status === 'error'}
{log.error_message}
{/if}
{#if expandedId === log.id}
{#if Object.keys(log.headers).length > 0}
{t('webhookLogs.headers')}
{#each Object.entries(log.headers) as [key, value]}
{key}
: {value}
{/each}
{/if}
{t('webhookLogs.body')}
{JSON.stringify(log.body, null, 2)}
{#if log.status === 'matched' && Object.keys(log.extracted_fields).length > 0}
{t('webhookLogs.extractedFields')}
{#each Object.entries(log.extracted_fields) as [key, value]}
{key}
: {typeof value === 'object' ? JSON.stringify(value) : String(value)}
{/each}
{/if} {#if log.status === 'error' && log.error_message}
{t('webhookLogs.errorMessage')}
{log.error_message}
{/if}
{/if} {/each}
{/if}
{/if}
showClearConfirm = false} />