{#if ui.show_imports}
{#snippet children({ processing, errors: formErrors })} {#if remoteCooldownActive && remoteCooldownUntil}

Remote imports can be started again after {formatDateTime( remoteCooldownUntil, )}.

{/if}
{#each PROVIDERS as provider} {/each}
{#if formErrors.import}

{formErrors.import}

{/if} {#if importState !== "idle" && latestImportIsRemote}

{providerLabel(importSourceKind)}

Status: {importState}

{Math.round($tweenedProgress)}%

{#if remoteDumpStatus}

Remote dump: {remoteDumpStatus} {#if remotePercentComplete !== null} ({Math.round(remotePercentComplete)}%) {/if}

{/if} {#if importErrorMessage}

{importErrorMessage}

{/if} {#if importState === "completed"}

Imported: {formatCount(importedCount)}. Skipped {formatCount( skippedCount, )} duplicates and {errorsCount.toLocaleString()} errors.

{/if}
{/if}
{#snippet footer()} {/snippet}
{/snippet}
{/if} {#if data_export.is_restricted}

Data export is currently restricted for this account.

{:else}

Total heartbeats

{data_export.total_heartbeats}

Total coding time

{data_export.total_coding_time}

Last 7 days

{data_export.heartbeats_last_7_days}

Exports are generated in the background and emailed to you.

{#snippet children({ processing })} {/snippet}
{#snippet children({ processing })} {/snippet}
{#if ui.show_dev_import}
{ selectedFile = null; }} > {#snippet children({ processing, errors: formErrors })} { const target = event.currentTarget as HTMLInputElement; selectedFile = target.files?.[0] ?? null; }} class="w-full rounded-md border border-surface-200 bg-surface px-3 py-2 text-sm text-surface-content disabled:cursor-not-allowed disabled:opacity-60" /> {#if formErrors.import}

{formErrors.import}

{/if} {#if importState !== "idle" && latestImportIsDev}

{providerLabel(importSourceKind)}

Status: {importState}

{Math.round($tweenedProgress)}%

{formatCount(processedCount)} / {formatCount(totalCount)} processed

{#if sourceFilename}

File: {sourceFilename}

{/if} {#if importMessage}

{importMessage}

{/if} {#if importErrorMessage}

{importErrorMessage}

{/if} {#if importState === "completed"}

Imported: {formatCount(importedCount)}. Skipped {formatCount( skippedCount, )} duplicates and {errorsCount.toLocaleString()} errors.

{/if}
{/if} {/snippet}
{/if} {/if}
{#if user.can_request_deletion} {#snippet footer()}
window.confirm( "Submit account deletion request? This action starts the deletion process.", )} >
{/snippet}
{:else}

Deletion request is unavailable for this account right now.

{/if}