Move useImageDimensions into image-sizes

This commit is contained in:
Dan Abramov
2024-11-01 02:17:40 +00:00
parent fe33a21d3e
commit 6b478644e2
2 changed files with 31 additions and 33 deletions
+1 -33
View File
@@ -5,7 +5,7 @@ import {AppBskyEmbedImages} from '@atproto/api'
import {msg} from '@lingui/macro'
import {useLingui} from '@lingui/react'
import * as imageSizes from '#/lib/media/image-sizes'
import {useImageDimensions} from '#/lib/media/image-sizes'
import {Dimensions} from '#/lib/media/types'
import {isNative} from '#/platform/detection'
import {useLargeAltBadgeEnabled} from '#/state/preferences/large-alt-badge'
@@ -14,38 +14,6 @@ import {ArrowsDiagonalOut_Stroke2_Corner0_Rounded as Fullscreen} from '#/compone
import {MediaInsetBorder} from '#/components/MediaInsetBorder'
import {Text} from '#/components/Typography'
function useImageDimensions({
src,
knownDimensions,
}: {
src: string
knownDimensions: Dimensions | undefined
}) {
const [dims, setDims] = React.useState(
() => knownDimensions ?? imageSizes.get(src),
)
const [prevSrc, setPrevSrc] = React.useState(src)
if (src !== prevSrc) {
setDims(knownDimensions ?? imageSizes.get(src))
setPrevSrc(src)
}
React.useEffect(() => {
let aborted = false
if (dims !== undefined) return
imageSizes.fetch(src).then(newDims => {
if (aborted) return
setDims(newDims)
})
return () => {
aborted = true
}
}, [dims, setDims, src])
return dims
}
function useImageAspectRatio({
src,
knownDimensions,