Merged in feat/SW-2800-lightbox-history-state (pull request #2147)

feat(SW-2800): closing image gallery and lightbox on using browser navigation

* feat(SW-2800): closing image gallery and lightbox on using browser navigation


Approved-by: Linus Flood
This commit is contained in:
Erik Tiekstra
2025-05-19 13:58:20 +00:00
committed by Linus Flood
parent 93a155f1e4
commit 41e09f082a
4 changed files with 26 additions and 12 deletions

View File

@@ -53,6 +53,10 @@
display: none;
}
.galleryContainer {
align-content: start;
}
.closeButton {
justify-self: start;
}

View File

@@ -46,6 +46,20 @@ export default function Lightbox({
)
}
useEffect(() => {
function handlePopState() {
handleClose()
}
window.history.pushState(null, "", window.location.href)
window.addEventListener("popstate", handlePopState)
return () => {
window.removeEventListener("popstate", handlePopState)
}
/* eslint-disable-next-line react-hooks/exhaustive-deps */
}, [])
return (
<ModalOverlay
isOpen={isOpen}
@@ -79,7 +93,7 @@ export default function Lightbox({
) : (
<Gallery
images={images}
onClose={onClose}
onClose={handleClose}
onSelectImage={(image) => {
setSelectedImageIndex(
images.findIndex((img) => img === image)