From 86567ca003d4c35d5581471637a690b4e3037956 Mon Sep 17 00:00:00 2001
From: Douglas Fabris <devfabris@gmail.com>
Date: Tue, 7 Jan 2025 13:42:03 -0300
Subject: [PATCH] refactor: Replace `Menu` in favor of `GenericMenu` in
 DeviceManagement (#34836)

---
 .../DeviceManagementAdminRow.tsx              | 22 +++++++++----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminTable/DeviceManagementAdminRow.tsx b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminTable/DeviceManagementAdminRow.tsx
index 217b8e2e517..e887016f675 100644
--- a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminTable/DeviceManagementAdminRow.tsx
+++ b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminTable/DeviceManagementAdminRow.tsx
@@ -1,5 +1,7 @@
-import { Box, Menu, Option } from '@rocket.chat/fuselage';
+import { Box } from '@rocket.chat/fuselage';
 import { useMediaQuery, useMutableCallback } from '@rocket.chat/fuselage-hooks';
+import type { GenericMenuItemProps } from '@rocket.chat/ui-client';
+import { GenericMenu } from '@rocket.chat/ui-client';
 import { useRoute } from '@rocket.chat/ui-contexts';
 import type { KeyboardEvent, ReactElement } from 'react';
 import { useCallback } from 'react';
@@ -57,12 +59,14 @@ const DeviceManagementAdminRow = ({
 		[handleClick],
 	);
 
-	const menuOptions = {
-		logout: {
-			label: { label: t('Logout_Device'), icon: 'sign-out' },
-			action: (): void => handleDeviceLogout(onReload),
+	const menuItems: GenericMenuItemProps[] = [
+		{
+			id: 'logoutDevice',
+			icon: 'sign-out',
+			content: t('Logout_Device'),
+			onClick: (): void => handleDeviceLogout(onReload),
 		},
-	};
+	];
 
 	return (
 		<GenericTableRow key={_id} onKeyDown={handleKeyDown} onClick={handleClick} tabIndex={0} action>
@@ -79,11 +83,7 @@ const DeviceManagementAdminRow = ({
 			{mediaQuery && <GenericTableCell withTruncatedText>{_id}</GenericTableCell>}
 			{mediaQuery && <GenericTableCell withTruncatedText>{ip}</GenericTableCell>}
 			<GenericTableCell onClick={(e): void => e.stopPropagation()}>
-				<Menu
-					title={t('Options')}
-					options={menuOptions}
-					renderItem={({ label: { label, icon }, ...props }): ReactElement => <Option label={label} icon={icon} {...props} />}
-				/>
+				<GenericMenu detached placement='bottom-end' title={t('Options')} items={menuItems} />
 			</GenericTableCell>
 		</GenericTableRow>
 	);
-- 
GitLab