Skip to content

Commit 3648941

Browse files
committed
ui(settings): restore scroll synchronously to prevent flicker; dx(ui): name TabContent for clearer DevTools
1 parent ad07bf4 commit 3648941

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

webview-ui/src/components/common/Tab.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ export const TabContent = forwardRef<HTMLDivElement, TabProps>(({ className, chi
4545
</div>
4646
)
4747
})
48+
TabContent.displayName = "TabContent"
4849

4950
export const TabList = forwardRef<
5051
HTMLDivElement,

webview-ui/src/components/settings/SettingsView.tsx

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -411,12 +411,10 @@ const SettingsView = forwardRef<SettingsViewRef, SettingsViewProps>(({ onDone, t
411411
[activeTab],
412412
)
413413

414-
useEffect(() => {
415-
requestAnimationFrame(() => {
416-
if (contentRef.current) {
417-
contentRef.current.scrollTop = scrollPositions.current[activeTab] ?? 0
418-
}
419-
})
414+
useLayoutEffect(() => {
415+
if (contentRef.current) {
416+
contentRef.current.scrollTop = scrollPositions.current[activeTab] ?? 0
417+
}
420418
}, [activeTab])
421419

422420
// Store direct DOM element refs for each tab

0 commit comments

Comments
 (0)