🤖 Auto Trainer Scanner
showAdvanced = !showAdvanced} > {showAdvanced ? '▼' : '▶'} Advanced
{#if scanState.progress.total === 0}
Initialize the trainer scanning database to get started.
{isInitializing ? 'Initializing...' : 'Initialize Scanner'}
{:else}
{#if !scanState.isScanning}
{isInitializing ? 'Starting...' : 'Start Auto Scan'}
{:else}
Stop Scanning
{/if}
{/if}
{#if scanState.progress.total > 0}
{scanState.progress.completed}
Completed
{scanState.progress.pending}
Pending
{scanState.progress.failed}
Failed
{scanState.progress.total}
Total
{getProgressPercentage()}%
{#if scanState.isScanning && scanState.currentTrainer}
Processing: {formatTrainerName(scanState.currentTrainer)}
{/if}
{/if} {#if scanState.error}
⚠️ {scanState.error}
scanState.error = null} > Dismiss
{/if} {#if showAdvanced}
Advanced Options
Reset Failed ({scanState.progress.failed})
Re-initialize Database
How it works:
Loads trainer images from HuggingFace dataset
Generates unique piclets using Joy Caption + Zephyr-7B
Tracks progress in IndexedDB to prevent duplicates
Can be stopped and resumed at any time
{/if}