From 2f5a238b511e3ac4d8235da4d6e7fdbaf06c9b84 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Tue, 27 Jan 2026 08:30:23 -0600 Subject: feat(app): update settings in general settings --- packages/app/src/pages/layout.tsx | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'packages/app/src/pages') diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 15557dedb..82a3fa6c9 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -332,6 +332,7 @@ export default function Layout(props: ParentProps) { if (!platform.checkUpdate || !platform.update || !platform.restart) return let toastId: number | undefined + let interval: ReturnType | undefined async function pollUpdate() { const { updateAvailable, version } = await platform.checkUpdate!() @@ -358,9 +359,25 @@ export default function Layout(props: ParentProps) { } } - pollUpdate() - const interval = setInterval(pollUpdate, 10 * 60 * 1000) - onCleanup(() => clearInterval(interval)) + createEffect(() => { + if (!settings.ready()) return + + if (!settings.updates.startup()) { + if (interval === undefined) return + clearInterval(interval) + interval = undefined + return + } + + if (interval !== undefined) return + void pollUpdate() + interval = setInterval(pollUpdate, 10 * 60 * 1000) + }) + + onCleanup(() => { + if (interval === undefined) return + clearInterval(interval) + }) }) onMount(() => { -- cgit v1.2.3