Skip to content

Commit 0155946

Browse files
ekzyisbrymut
andauthored
Fix carousel dropdown (#2326)
Co-authored-by: brymut <[email protected]>
1 parent 9e2c35c commit 0155946

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

components/carousel.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,19 @@ function useArrowKeys ({ moveLeft, moveRight }) {
5353
}, [onKeyDown])
5454
}
5555

56-
function Carousel ({ close, mediaArr, src }) {
56+
function Carousel ({ close, mediaArr, src, setOptions }) {
5757
const [index, setIndex] = useState(mediaArr.findIndex(([key]) => key === src))
5858
const [currentSrc, canGoLeft, canGoRight] = useMemo(() => {
5959
return [mediaArr[index][0], index > 0, index < mediaArr.length - 1]
6060
}, [mediaArr, index])
6161

62+
useEffect(() => {
63+
if (index === -1) return
64+
setOptions({
65+
overflow: <CarouselOverflow {...mediaArr[index][1]} />
66+
})
67+
}, [index, mediaArr, setOptions])
68+
6269
const moveLeft = useCallback(() => {
6370
setIndex(i => Math.max(0, i - 1))
6471
}, [setIndex])
@@ -108,8 +115,8 @@ export function CarouselProvider ({ children }) {
108115
const showModal = useShowModal()
109116

110117
const showCarousel = useCallback(({ src }) => {
111-
showModal((close) => {
112-
return <Carousel close={close} mediaArr={Array.from(media.current.entries())} src={src} />
118+
showModal((close, setOptions) => {
119+
return <Carousel close={close} mediaArr={Array.from(media.current.entries())} src={src} setOptions={setOptions} />
113120
}, {
114121
fullScreen: true,
115122
overflow: <CarouselOverflow {...media.current.get(src)} />

0 commit comments

Comments
 (0)