From 0f1b08b3ea31c0da111179b86f0a80d76671da34 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun <cheeaun@gmail.com>
Date: Thu, 23 Mar 2023 15:54:17 +0800
Subject: [PATCH] Very experimental handle "back" to close media modal

Don't try this at home, kids
---
 src/components/media-modal.jsx | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/components/media-modal.jsx b/src/components/media-modal.jsx
index 6c85b3dd..9fdb5b0f 100644
--- a/src/components/media-modal.jsx
+++ b/src/components/media-modal.jsx
@@ -22,6 +22,17 @@ function MediaModal({
   const carouselFocusItem = useRef(null);
   useLayoutEffect(() => {
     carouselFocusItem.current?.scrollIntoView();
+
+    history.pushState({ mediaModal: true }, '');
+    const handlePopState = (e) => {
+      if (e.state?.mediaModal) {
+        onClose();
+      }
+    };
+    window.addEventListener('popstate', handlePopState);
+    return () => {
+      window.removeEventListener('popstate', handlePopState);
+    };
   }, []);
   const prevStatusID = useRef(statusID);
   useEffect(() => {