diff --git a/client/src/components/Admin/AdminPluginsPanel.tsx b/client/src/components/Admin/AdminPluginsPanel.tsx index c66841ef2..9da7ec5c0 100644 --- a/client/src/components/Admin/AdminPluginsPanel.tsx +++ b/client/src/components/Admin/AdminPluginsPanel.tsx @@ -263,7 +263,7 @@ export default function AdminPluginsPanel() { const anyFilter = q.trim() !== '' || typeFilter !== 'all' || statusFilter !== 'all' return ( -
+
{/* Click-away layer for any open dropdown (filters or a row's ⋯ menu). */} {menu &&
setMenu(null)} />} {/* Header */} @@ -472,12 +472,17 @@ function FilterMenu({ id, label, valueLabel, options, onPick, value, menu, setMe menu: string | null; setMenu: (v: string | null) => void; icon?: React.ReactNode }) { const open = menu === id + const active = value !== options[0]?.[0] return (
- {open && (
@@ -537,7 +542,7 @@ function InstalledRow({ p, t, busy, menu, setMenu, hasUpdate, latestVer, onToggl {p.last_error}
) : caps.length > 0 && ( -
+
{caps.map((c, i) => ( @@ -699,7 +704,7 @@ function PluginDetailModal({ item, installed, busy, onInstall, onClose, t, local
e.stopPropagation()}>
- +