From d0953a321ab2e07e81ca13b8424e1731e4611a45 Mon Sep 17 00:00:00 2001
From: Lim Chee Aun <cheeaun@gmail.com>
Date: Thu, 2 Mar 2023 20:37:40 +0800
Subject: [PATCH] Fix context menu bugs

- It got mounted initially, need to set state to undefinde
- Missing zIndex
- Context menu got disabled on large status
---
 src/components/status.jsx | 37 +++++++++++++++++++++++--------------
 1 file changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/components/status.jsx b/src/components/status.jsx
index 89dd0514..652bd656 100644
--- a/src/components/status.jsx
+++ b/src/components/status.jsx
@@ -506,6 +506,7 @@ function Status({
       }`}
       onMouseEnter={debugHover}
       onContextMenu={(e) => {
+        if (size === 'l') return;
         if (e.metaKey) return;
         e.preventDefault();
         setContextMenuAnchorPoint({
@@ -515,20 +516,28 @@ function Status({
         setIsContextMenuOpen(true);
       }}
     >
-      <ControlledMenu
-        state={isContextMenuOpen ? 'open' : 'closed'}
-        anchorPoint={contextMenuAnchorPoint}
-        direction="right"
-        onClose={() => setIsContextMenuOpen(false)}
-        portal={{
-          target: document.body,
-        }}
-        overflow="auto"
-        boundingBoxPadding="8 8 8 8"
-        unmountOnClose
-      >
-        {StatusMenuItems}
-      </ControlledMenu>
+      {size !== 'l' && (
+        <ControlledMenu
+          state={isContextMenuOpen ? 'open' : undefined}
+          anchorPoint={contextMenuAnchorPoint}
+          direction="right"
+          onClose={() => setIsContextMenuOpen(false)}
+          portal={{
+            target: document.body,
+          }}
+          containerProps={{
+            style: {
+              // Higher than the backdrop
+              zIndex: 1001,
+            },
+          }}
+          overflow="auto"
+          boundingBoxPadding="8 8 8 8"
+          unmountOnClose
+        >
+          {StatusMenuItems}
+        </ControlledMenu>
+      )}
       {size !== 'l' && (
         <div class="status-badge">
           {reblogged && <Icon class="reblog" icon="rocket" size="s" />}