Skip to content

Commit e2f70c7

Browse files
committed
Feedback
1 parent e3c8adb commit e2f70c7

File tree

2 files changed

+16
-21
lines changed

2 files changed

+16
-21
lines changed

packages/gitbook/src/components/PageBody/PageCover.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export async function PageCover(props: {
8585
<div
8686
id="page-cover"
8787
data-full={String(as === 'full')}
88-
style={{ height: `${height}px` }}
88+
style={{ height }}
8989
className={tcls(
9090
'overflow-hidden',
9191
// Negative margin to balance the container padding

packages/gitbook/src/components/PageBody/useCoverPosition.ts

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
'use client';
2-
import { useCallback, useLayoutEffect, useRef, useState } from 'react';
2+
import { useLayoutEffect, useMemo, useRef, useState } from 'react';
33
import { useResizeObserver } from 'usehooks-ts';
44

55
interface ImageSize {
@@ -86,25 +86,20 @@ export function useCoverPosition(imgs: Images, y: number) {
8686
: 0;
8787

8888
// Parse the position between the allowed min/max
89-
const clampedObjectPositionY = useCallback(
90-
(offset: number): number => {
91-
if (!container.height || !imageDimensions) {
92-
return 50;
93-
}
94-
95-
const scaled = imageDimensions.height * safeRatio;
96-
if (scaled <= container.height || maxOffset === 0) {
97-
return 50;
98-
}
99-
100-
const clampedOffset = Math.max(-maxOffset, Math.min(maxOffset, offset));
101-
const relative = (maxOffset - clampedOffset) / (2 * maxOffset);
102-
return relative * 100;
103-
},
104-
[container.height, imageDimensions, maxOffset, safeRatio]
105-
);
106-
107-
const objectPositionY = clampedObjectPositionY(y);
89+
const objectPositionY = useMemo(() => {
90+
if (!container.height || !imageDimensions) {
91+
return 50;
92+
}
93+
94+
const scaled = imageDimensions.height * safeRatio;
95+
if (scaled <= container.height || maxOffset === 0) {
96+
return 50;
97+
}
98+
99+
const clampedOffset = Math.max(-maxOffset, Math.min(maxOffset, y));
100+
const relative = (maxOffset - clampedOffset) / (2 * maxOffset);
101+
return relative * 100;
102+
}, [container.height, imageDimensions, maxOffset, safeRatio, y]);
108103

109104
return {
110105
containerRef,

0 commit comments

Comments
 (0)