From 2b525845479a9940df6178e1ae467ed0e15c6755 Mon Sep 17 00:00:00 2001
From: GyDi <segydi@foxmail.com>
Date: Thu, 10 Feb 2022 01:42:52 +0800
Subject: [PATCH] fix: menu without fragment

---
 src/components/profile-item.tsx | 29 ++++++++++++++++++-----------
 1 file changed, 18 insertions(+), 11 deletions(-)

diff --git a/src/components/profile-item.tsx b/src/components/profile-item.tsx
index 4127c92..7f22de6 100644
--- a/src/components/profile-item.tsx
+++ b/src/components/profile-item.tsx
@@ -121,6 +121,19 @@ const ProfileItem: React.FC<Props> = (props) => {
     justifyContent: "space-between",
   };
 
+  const urlModeMenu = [
+    { label: "Select", handler: onForceSelect },
+    { label: "View", handler: onView },
+    { label: "Update", handler: onUpdateWrapper(false) },
+    { label: "Update(Proxy)", handler: onUpdateWrapper(true) },
+    { label: "Delete", handler: onDelete },
+  ];
+  const fileModeMenu = [
+    { label: "Select", handler: onForceSelect },
+    { label: "Edit", handler: onView },
+    { label: "Delete", handler: onDelete },
+  ];
+
   return (
     <>
       <Wrapper
@@ -237,17 +250,11 @@ const ProfileItem: React.FC<Props> = (props) => {
         anchorPosition={position}
         anchorReference="anchorPosition"
       >
-        <MenuItem onClick={onForceSelect}>Select</MenuItem>
-        {isUrlMode ? (
-          <>
-            <MenuItem onClick={onView}>View</MenuItem>
-            <MenuItem onClick={onUpdateWrapper(false)}>Update</MenuItem>
-            <MenuItem onClick={onUpdateWrapper(true)}>Update(Proxy)</MenuItem>
-          </>
-        ) : (
-          <MenuItem onClick={onView}>Edit</MenuItem>
-        )}
-        <MenuItem onClick={onDelete}>Delete</MenuItem>
+        {(isUrlMode ? urlModeMenu : fileModeMenu).map((item) => (
+          <MenuItem key={item.label} onClick={item.handler}>
+            {item.label}
+          </MenuItem>
+        ))}
       </Menu>
     </>
   );
-- 
GitLab