goto('/automations')} type="button" >
(showDeleteConfirm = true)} type="button" >
{#if isDirty}
{$i18n.t('Save')} {#if saving}
{/if}
{/if}
{$i18n.t('Run now')}
{#if loading}
{/if}
{$i18n.t('Instructions')}
{$i18n.t('Configuration')}
{$i18n.t('Repeats')}
{scheduleLabel}
{$i18n.t('Schedule')}
e.stopPropagation()} on:change={markDirty} > {#each FREQUENCIES as f}
{f.label}
{/each}
{#if frequency === 'CUSTOM'}
e.stopPropagation()} on:input={markDirty} />
{:else if frequency !== 'HOURLY'}
{#if frequency === 'ONCE'}
e.stopPropagation()} on:input={markDirty} />
e.stopPropagation()} on:input={markDirty} /> {:else}
{$i18n.t('Time')}
{ const [h, m] = e.currentTarget.value.split(':').map(Number); hour = h; minute = m; markDirty(); }} class="bg-transparent text-center outline-hidden text-xs dark:color-scheme-dark" on:click={(e) => e.stopPropagation()} /> {/if} {#if frequency === 'MONTHLY'}
{$i18n.t('Day')}
e.stopPropagation()} on:input={markDirty} /> {/if}
{#if frequency === 'WEEKLY'}
{#each DAYS as d}
{ selectedDays = selectedDays.includes(d.key) ? selectedDays.filter((x) => x !== d.key) : [...selectedDays, d.key]; markDirty(); }} > {d.label}
{/each}
{/if} {/if}
{$i18n.t('Model')}
{modelLabel}
e.stopPropagation()} />
{#each filteredModels as model (model.id)}
{ model_id = model.id; showModelDropdown = false; modelSearch = ''; markDirty(); }} >
{ e.currentTarget.src = '/favicon.png'; }} />
{model.name}
{:else}
{$i18n.t('No results found')}
{/each}
{#if terminalServers.length > 0}
{$i18n.t('Terminal')}
{terminalLabel}
{$i18n.t('Terminal Setting')}
{#each terminalServers as server (server.id)}
{ if (terminalServerId === server.id) { terminalServerId = ''; terminalCwd = ''; } else { terminalServerId = server.id; } showTerminalDropdown = false; markDirty(); }} >
{server.name || server.id}
{#if terminalServerId === server.id}
{/if}
{/each} {#if terminalServerId}
{$i18n.t('Working Directory')}
e.stopPropagation()} on:input={markDirty} />
{/if}
{/if}
{$i18n.t('Status')}
{$i18n.t('State')}
{is_active ? $i18n.t('Active') : $i18n.t('Paused')}
{$i18n.t('Next run')}
{formatNextRun(automation.next_runs?.[0] ?? automation.next_run_at)}
{$i18n.t('Last ran')}
{automation.last_run_at ? formatNextRun(automation.last_run_at) : $i18n.t('Never')}
{$i18n.t('Execution Logs')}
{#if runsLoading}
{:else if runs.length === 0}
{$i18n.t('No execution logs available yet')}
{:else}
{#each runs as run (run.id)}
{ if (run.chat_id) goto(`/c/${run.chat_id}`); }} type="button" >
{#if run.status === 'success'}
{:else if run.status === 'error'}
{:else}
{/if}
{automation.name}
{formatRunTime(run.created_at)}
{/each}
{/if}