diff --git a/resource/interface/client/context.lua b/resource/interface/client/context.lua index 6d45488..e800157 100644 --- a/resource/interface/client/context.lua +++ b/resource/interface/client/context.lua @@ -18,6 +18,7 @@ function lib.showContext(id) action = 'showContext', data = { title = data.title, + canClose = data.canClose, menu = data.menu, options = data.options } diff --git a/web/src/features/menu/context/ContextMenu.tsx b/web/src/features/menu/context/ContextMenu.tsx index ade235b..78ce833 100644 --- a/web/src/features/menu/context/ContextMenu.tsx +++ b/web/src/features/menu/context/ContextMenu.tsx @@ -18,6 +18,7 @@ const ContextMenu: React.FC = () => { }); const closeContext = () => { + if (contextMenu.canClose === false) return; setVisible(false); fetchNui('closeContext'); }; @@ -76,7 +77,8 @@ const ContextMenu: React.FC = () => { { alignItems="center" marginLeft={2} p={2} - _hover={{ bg: 'gray.700' }} + cursor={contextMenu.canClose === false ? 'not-allowed' : undefined} + _hover={{ bg: contextMenu.canClose === false ? undefined : 'gray.700' }} transition="300ms" onClick={() => closeContext()} > - + diff --git a/web/src/interfaces/context.ts b/web/src/interfaces/context.ts index 8328b44..4dc9d28 100644 --- a/web/src/interfaces/context.ts +++ b/web/src/interfaces/context.ts @@ -21,5 +21,6 @@ export interface Options { export interface ContextMenuProps { title: string; menu?: string; + canClose?: boolean; options: Options | Option[]; }