Powers the sidebar weather widget and the /weather page — searched via Open-Meteo's free geocoding lookup.
e.key === 'Enter' && handleSearch()}
placeholder="City name, e.g. Chicago"
/>
{#if searchError}
{searchError}
{/if}
{#if results.length > 0}
{#each results as r}
{/each}
{/if}
{#if weather.locationName}
Configured: {weather.locationName}
{:else}
No location configured yet
{/if}
Temperature
{#each units as unit}
{/each}
Wind speed
{#each windUnits as unit}
{/each}
Pressure
{#each pressureUnits as unit}
{/each}
{#if weather.current}
Currently showing: {Math.round(weather.current.temp)}° (feels like {Math.round(weather.current.feelsLike)}°) ·
{weather.current.conditionText} (updated {timeAgo(weather.updatedAt ?? '')})
{:else}
Not showing any data yet — configure a location above, it polls immediately.
{/if}