{watchlist.length} pairs tracked

{#if settings.poe2.leagueName} Tracking {settings.poe2.leagueName} · change is over the last 24h. {:else} League not detected yet — check back after the next poll (every hour). {/if}

{#if showAdd}
{#if step === 'base'} Step 1 — pick the base currency {:else} Step 2 — pick what to quote {selectedBase?.name} against {/if}
{#if browsing}

Loading currency list…

{:else if browseError}

{browseError}

{:else if filtered.length === 0}

{query ? 'No matches' : 'No traded currencies found for this league'}

{:else}
{#each filtered as entry (entry.id)} {/each}
{/if}
{/if}
{#each watchlist as entry (entry.id)}
{entry.baseName} {entry.quoteName}
{#if entry.lastError}
{entry.lastError}
{:else if entry.lastRate !== null}
1 {entry.baseName} = {formatPoeValue(entry.lastRate)} {entry.quoteName} 24h {fmtChange(entry.lastChange24h)}
1 {entry.quoteName} = {formatPoeValue(1 / entry.lastRate)} {entry.baseName} 24h {fmtChange(invertChangePercent(entry.lastChange24h))}
{:else}
Waiting for first poll…
{/if}
{/each}