diff --git a/frontend/src/lib/components/admin/WidgetSection.svelte b/frontend/src/lib/components/admin/WidgetSection.svelte index ca697a3..63b39ec 100644 --- a/frontend/src/lib/components/admin/WidgetSection.svelte +++ b/frontend/src/lib/components/admin/WidgetSection.svelte @@ -3,18 +3,24 @@ // Minimized by default — Weather/Stocks/Bookmarks/PoE2 stacked at full height would // make the consolidated "Widgets" tab unwieldy as more get added over time. Enabled - // state is independent of expanded state: disabling a widget only hides it from the - // sidebar (see Sidebar.svelte's widgetsEnabled gate), it doesn't stop the admin from - // expanding this section to keep configuring it. + // state is independent of expanded state: disabling a widget hides it from the + // sidebar AND stops its backend poller from making outbound requests (see + // scheduler.ts's widgets.* gate) — it just doesn't stop the admin from expanding + // this section to keep configuring it while it's off. let { title, enabled, onToggle, + // Weather/Stocks/PoE2 have a backend poller that scheduler.ts gates on this same + // flag (see scheduler.ts); Bookmarks doesn't poll anything, so disabling it only + // ever affects sidebar visibility — the tooltip shouldn't claim otherwise. + hasBackendPoller = true, children }: { title: string; enabled: boolean; onToggle: () => void; + hasBackendPoller?: boolean; children: Snippet; } = $props(); @@ -26,9 +32,18 @@ -