Skip to content

Commit 5979f55

Browse files
committed
ObjectPage: fix eslint errors
1 parent 0496a75 commit 5979f55

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

packages/main/src/components/ObjectPage/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,8 @@ const ObjectPage = forwardRef<ObjectPageDomRef, ObjectPagePropTypes>((props, ref
146146
return () => {
147147
debouncedOnSectionChange.cancel();
148148
if (selectionScrollTimeout.current) {
149+
// Access .current at cleanup time to clear the actual timeout, not the stale value from mount
150+
// eslint-disable-next-line react-hooks/exhaustive-deps
149151
clearTimeout(selectionScrollTimeout.current);
150152
}
151153
};

packages/main/src/components/ObjectPageTitle/index.tsx

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import { debounce, Device, useStylesheet, useSyncRef } from '@ui5/webcomponents-react-base';
44
import { clsx } from 'clsx';
5-
import { cloneElement, forwardRef, isValidElement, useEffect, useRef, useState } from 'react';
5+
import { cloneElement, forwardRef, isValidElement, useEffect, useMemo, useRef, useState } from 'react';
66
import { FlexBoxAlignItems } from '../../enums/FlexBoxAlignItems.js';
77
import { FlexBoxDirection } from '../../enums/FlexBoxDirection.js';
88
import { FlexBoxJustifyContent } from '../../enums/FlexBoxJustifyContent.js';
@@ -40,9 +40,7 @@ const ObjectPageTitle = forwardRef<HTMLDivElement, ObjectPageTitlePropTypes>((pr
4040
const [componentRef, dynamicPageTitleRef] = useSyncRef<HTMLDivElement>(ref);
4141
const [showNavigationInTopArea, setShowNavigationInTopArea] = useState(undefined);
4242
const isMounted = useRef(false);
43-
const [isPhone, setIsPhone] = useState(
44-
Device.getCurrentRange(dynamicPageTitleRef.current?.getBoundingClientRect().width)?.name === 'Phone',
45-
);
43+
const [isPhone, setIsPhone] = useState(Device.getCurrentRange().name === 'Phone');
4644
const containerClasses = clsx(classNames.container, isPhone && classNames.phone, className);
4745
const toolbarContainerRef = useRef<HTMLDivElement>(null);
4846
const _header = !props?.['data-header-content-visible'] && snappedHeader ? snappedHeader : header;
@@ -84,18 +82,16 @@ const ObjectPageTitle = forwardRef<HTMLDivElement, ObjectPageTitlePropTypes>((pr
8482
debouncedObserverFn.cancel();
8583
observer.disconnect();
8684
};
87-
}, [dynamicPageTitleRef.current, showNavigationInTopArea, isMounted]);
85+
}, [dynamicPageTitleRef, showNavigationInTopArea, isMounted]);
8886

89-
const [wcrNavToolbar, setWcrNavToolbar] = useState(null);
90-
useEffect(() => {
87+
const wcrNavToolbar = useMemo(() => {
9188
//@ts-expect-error: private identifier
9289
if (isValidElement(navigationBar) && navigationBar?.type?._displayName === 'UI5WCRToolbar') {
93-
setWcrNavToolbar(
94-
cloneElement<any>(navigationBar, {
95-
numberOfAlwaysVisibleItems: Infinity,
96-
}),
97-
);
90+
return cloneElement<any>(navigationBar, {
91+
numberOfAlwaysVisibleItems: Infinity,
92+
});
9893
}
94+
return null;
9995
}, [navigationBar]);
10096

10197
useEffect(() => {

0 commit comments

Comments
 (0)