From befb5d54fbfd8df9706c49159095b1ef7f2ec23d Mon Sep 17 00:00:00 2001 From: Adam <2363879+adamdotdevin@users.noreply.github.com> Date: Mon, 2 Feb 2026 12:24:27 -0600 Subject: [PATCH] chore: cleanup --- packages/ui/src/components/code.tsx | 54 +++++++++++------------------ 1 file changed, 20 insertions(+), 34 deletions(-) diff --git a/packages/ui/src/components/code.tsx b/packages/ui/src/components/code.tsx index 0b0646f0e..e3e1e5652 100644 --- a/packages/ui/src/components/code.tsx +++ b/packages/ui/src/components/code.tsx @@ -129,7 +129,7 @@ export function Code(props: CodeProps) { let findOverlay!: HTMLDivElement let findOverlayFrame: number | undefined let findOverlayScroll: HTMLElement[] = [] - let findPositionFrame: number | undefined + let findScroll: HTMLElement | undefined let observer: MutationObserver | undefined let renderToken = 0 let selectionFrame: number | undefined @@ -303,29 +303,13 @@ export function Code(props: CodeProps) { const positionFindBar = () => { if (!findBar || !wrapper) return - const scrollParent = getScrollParent(wrapper) - if (!scrollParent) { - findBar.style.position = "absolute" - findBar.style.top = "8px" - findBar.style.right = "8px" - findBar.style.left = "" - return - } - const scrollTop = scrollParent.scrollTop + const scrollTop = findScroll ? findScroll.scrollTop : window.scrollY findBar.style.position = "absolute" findBar.style.top = `${scrollTop + 8}px` findBar.style.right = "8px" findBar.style.left = "" } - const scheduleFindPosition = () => { - if (findPositionFrame !== undefined) return - findPositionFrame = requestAnimationFrame(() => { - findPositionFrame = undefined - positionFindBar() - }) - } - const scanFind = (root: ShadowRoot, query: string) => { const needle = query.toLowerCase() const out: Range[] = [] @@ -440,13 +424,19 @@ export function Code(props: CodeProps) { syncOverlayScroll() scheduleOverlay() } - if (opts?.scroll && active) scrollToRange(active) + if (opts?.scroll && active) { + scrollToRange(active) + positionFindBar() + } return } clearHighlightFind() syncOverlayScroll() - if (opts?.scroll && active) scrollToRange(active) + if (opts?.scroll && active) { + scrollToRange(active) + positionFindBar() + } scheduleOverlay() } @@ -474,12 +464,14 @@ export function Code(props: CodeProps) { return } scrollToRange(active) + positionFindBar() return } clearHighlightFind() syncOverlayScroll() scrollToRange(active) + positionFindBar() scheduleOverlay() } @@ -492,13 +484,14 @@ export function Code(props: CodeProps) { findCurrent = host findTarget = host + findScroll = getScrollParent(wrapper) ?? undefined if (!findOpen()) setFindOpen(true) requestAnimationFrame(() => { + applyFind({ scroll: true }) positionFindBar() findInput?.focus() findInput?.select() }) - applyFind({ scroll: true }) }, close: closeFind, } @@ -521,20 +514,18 @@ export function Code(props: CodeProps) { createEffect(() => { if (!findOpen()) return - const scrollParent = getScrollParent(wrapper) - const target = scrollParent ?? window + findScroll = getScrollParent(wrapper) ?? undefined + const target = findScroll ?? window - const handler = () => scheduleFindPosition() + const handler = () => positionFindBar() target.addEventListener("scroll", handler, { passive: true }) window.addEventListener("resize", handler, { passive: true }) + handler() onCleanup(() => { target.removeEventListener("scroll", handler) window.removeEventListener("resize", handler) - if (findPositionFrame !== undefined) { - cancelAnimationFrame(findPositionFrame) - findPositionFrame = undefined - } + findScroll = undefined }) }) @@ -918,11 +909,6 @@ export function Code(props: CodeProps) { dragFrame = undefined } - if (findPositionFrame !== undefined) { - cancelAnimationFrame(findPositionFrame) - findPositionFrame = undefined - } - dragStart = undefined dragEnd = undefined dragMoved = false @@ -977,7 +963,7 @@ export function Code(props: CodeProps) { stepFind(e.shiftKey ? -1 : 1) }} /> -
+
{findCount() ? `${findIndex() + 1}/${findCount()}` : "0/0"}