| export default function scaleImage({ |
| originalWidth, |
| originalHeight, |
| containerRef, |
| }: { |
| originalWidth?: number; |
| originalHeight?: number; |
| containerRef: React.RefObject<HTMLDivElement>; |
| }) { |
| const containerWidth = containerRef.current?.offsetWidth ?? 0; |
|
|
| if (containerWidth === 0 || originalWidth == null || originalHeight == null) { |
| return { width: 'auto', height: 'auto' }; |
| } |
|
|
| const aspectRatio = originalWidth / originalHeight; |
| const scaledWidth = Math.min(containerWidth, originalWidth); |
| const scaledHeight = scaledWidth / aspectRatio; |
|
|
| return { width: `${scaledWidth}px`, height: `${scaledHeight}px` }; |
| } |
|
|