InstaChef
{#if screen === 'home'}
(screen = 'notifications')} /> {#if loading}
{:else if loadError}
Failed to load queue: {loadError}
{:else if items.length === 0} (screen = 'addurl')} {showHowTo} onDismissHowTo={() => (showHowTo = false)} /> {:else} {#if cooking && filter !== 'success' && filter !== 'error'} (selectedItem = cooking)} /> {/if}
{#each [ { id: 'all', label: 'All', count: items.length }, { id: 'in_progress', label: 'Cooking', count: items.filter((i) => i.status === 'in_progress').length }, { id: 'success', label: 'Saved', count: items.filter((i) => i.status === 'success').length }, { id: 'error', label: 'Failed', count: items.filter((i) => i.status === 'error' || i.status === 'unhealthy').length } ] as f} {/each}
{#each (['In line', 'Today', 'Yesterday', 'Earlier'] as const) as g} {#if groups[g]?.length} {g} {#each groups[g] as it (it.id)} (selectedItem = it)} onRetry={retryItem} /> {/each} {/if} {/each}
{/if}
{:else if screen === 'addurl'}
(screen = 'home')} onSubmit={submitUrl} />
{:else if screen === 'notifications'}
(screen = 'home')} sseConnected={connectionStatus === 'connected'} {sseLastPing} />
{/if} {#if selectedItem} (selectedItem = null)} onRetry={(id) => { retryItem(id); selectedItem = null; }} onDelete={(id) => { removeItem(id); selectedItem = null; }} /> {/if}