summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/pages/layout.tsx
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-04-02 17:40:03 +0800
committerGitHub <[email protected]>2026-04-02 09:40:03 +0000
commit69d047ae7dd84d4c4de41e09b1ecee88e3fdc3d3 (patch)
tree832dc97a20d9e1ee0ac4fba7b9daa689691a18c3 /packages/app/src/pages/layout.tsx
parent327f62526a7f60c1c67ae017d1b105466bb730e9 (diff)
downloadopencode-69d047ae7dd84d4c4de41e09b1ecee88e3fdc3d3.tar.gz
opencode-69d047ae7dd84d4c4de41e09b1ecee88e3fdc3d3.zip
cleanup event listeners with solid-primitives/event-listener (#20619)
Diffstat (limited to 'packages/app/src/pages/layout.tsx')
-rw-r--r--packages/app/src/pages/layout.tsx21
1 files changed, 7 insertions, 14 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx
index b5a96110f..79b9abd33 100644
--- a/packages/app/src/pages/layout.tsx
+++ b/packages/app/src/pages/layout.tsx
@@ -12,6 +12,7 @@ import {
untrack,
type Accessor,
} from "solid-js"
+import { makeEventListener } from "@solid-primitives/event-listener"
import { useNavigate, useParams } from "@solidjs/router"
import { useLayout, LocalProject } from "@/context/layout"
import { useGlobalSync } from "@/context/global-sync"
@@ -215,18 +216,11 @@ export default function Layout(props: ParentProps) {
if (document.visibilityState !== "hidden") return
reset()
}
- window.addEventListener("pointerup", stop)
- window.addEventListener("pointercancel", stop)
- window.addEventListener("blur", stop)
- window.addEventListener("blur", blur)
- document.addEventListener("visibilitychange", hide)
- onCleanup(() => {
- window.removeEventListener("pointerup", stop)
- window.removeEventListener("pointercancel", stop)
- window.removeEventListener("blur", stop)
- window.removeEventListener("blur", blur)
- document.removeEventListener("visibilitychange", hide)
- })
+ makeEventListener(window, "pointerup", stop)
+ makeEventListener(window, "pointercancel", stop)
+ makeEventListener(window, "blur", stop)
+ makeEventListener(window, "blur", blur)
+ makeEventListener(document, "visibilitychange", hide)
})
const sidebarHovering = createMemo(() => !layout.sidebar.opened() && state.hoverProject !== undefined)
@@ -1394,8 +1388,7 @@ export default function Layout(props: ParentProps) {
}
handleDeepLinks(drainPendingDeepLinks(window))
- window.addEventListener(deepLinkEvent, handler as EventListener)
- onCleanup(() => window.removeEventListener(deepLinkEvent, handler as EventListener))
+ makeEventListener(window, deepLinkEvent, handler as EventListener)
})
async function renameProject(project: LocalProject, next: string) {