Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit ed3d914

Browse files
committed
fix types
1 parent d02e16a commit ed3d914

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

web/src/components/trace/IOPreview.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,8 @@ export const IOPreview: React.FC<{
5656
const capture = usePostHogClientCapture();
5757
const input = deepParseJson(props.input);
5858
const output = deepParseJson(props.output);
59-
const [tabsRef, startPreserveScroll] = usePreserveRelativeScroll([
60-
selectedView,
61-
]);
59+
const [compensateScrollRef, startPreserveScroll] =
60+
usePreserveRelativeScroll<HTMLDivElement>([selectedView]);
6261

6362
// parse old completions: { completion: string } -> string
6463
const outLegacyCompletionSchema = z
@@ -122,7 +121,7 @@ export const IOPreview: React.FC<{
122121
{isPrettyViewAvailable && !currentView ? (
123122
<div className="flex w-full flex-row justify-start">
124123
<Tabs
125-
ref={tabsRef}
124+
ref={compensateScrollRef}
126125
className="h-fit py-0.5"
127126
value={selectedView}
128127
onValueChange={(value) => {

web/src/hooks/usePreserveRelativeScroll.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,15 @@ export interface UsePreserveRelativeScrollOptions {
4242
* (for example, the selected tab value). Provide stable, memoized values; avoid passing
4343
* freshly created objects or inline functions.
4444
*/
45-
export function usePreserveRelativeScroll(
45+
export function usePreserveRelativeScroll<T extends Element = Element>(
4646
layoutDeps: ReadonlyArray<unknown> = [],
4747
options?: UsePreserveRelativeScrollOptions,
48-
): [React.RefObject<Element>, () => void] {
48+
): [React.RefObject<T | null>, () => void] {
4949
const enabled = options?.enabled ?? true;
5050
const beforeTopRef = useRef<number | null>(null);
5151
const targetRef = useRef<ScrollTarget | null>(null);
5252
const didUserScrollRef = useRef<boolean>(false);
53-
const elementRef = useRef<Element | null>(null);
53+
const elementRef = useRef<T | null>(null);
5454
const compensatedRef = useRef<boolean>(false);
5555

5656
const attachScrollListener = useCallback(() => {
@@ -114,7 +114,7 @@ export function usePreserveRelativeScroll(
114114
}, []);
115115

116116
const performCompensation = useCallback(
117-
(element: Element) => {
117+
(element: T) => {
118118
if (compensatedRef.current) return;
119119
const beforeTop = beforeTopRef.current;
120120
const target = targetRef.current;

0 commit comments

Comments
 (0)