diff --git a/apps/meteor/client/views/admin/info/DescriptionList.js b/apps/meteor/client/views/admin/info/DescriptionList.js
deleted file mode 100644
index 382f31900bb..00000000000
--- a/apps/meteor/client/views/admin/info/DescriptionList.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Box, Table } from '@rocket.chat/fuselage';
-import React, { memo } from 'react';
-
-import DescriptionListEntry from './DescriptionListEntry';
-
-const DescriptionList = ({ children, title, ...props }) => (
- <>
- {title && (
-
- {title}
-
- )}
-
- >
-);
-
-export default Object.assign(memo(DescriptionList), {
- Entry: DescriptionListEntry,
-});
diff --git a/apps/meteor/client/views/admin/info/DescriptionListEntry.js b/apps/meteor/client/views/admin/info/DescriptionListEntry.js
deleted file mode 100644
index 540ffa658a7..00000000000
--- a/apps/meteor/client/views/admin/info/DescriptionListEntry.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Table } from '@rocket.chat/fuselage';
-import React, { memo } from 'react';
-
-const style = { wordBreak: 'break-word' };
-
-const DescriptionListEntry = ({ children, label, ...props }) => (
-
-
- {label}
-
-
- {children}
-
-
-);
-
-export default memo(DescriptionListEntry);
diff --git a/apps/meteor/client/views/admin/info/InstancesModal.js b/apps/meteor/client/views/admin/info/InstancesModal.js
deleted file mode 100644
index 0f484bca5c8..00000000000
--- a/apps/meteor/client/views/admin/info/InstancesModal.js
+++ /dev/null
@@ -1,105 +0,0 @@
-import { Modal, Button, Accordion } from '@rocket.chat/fuselage';
-import { useTranslation } from '@rocket.chat/ui-contexts';
-import React from 'react';
-
-import { useFormatDateAndTime } from '../../../hooks/useFormatDateAndTime';
-import DescriptionList from './DescriptionList';
-
-const InstancesModal = ({ instances = [], onClose }) => {
- const t = useTranslation();
-
- const formatDateAndTime = useFormatDateAndTime();
-
- return (
-
-
- {t('Instances')}
-
-
-
-
- {instances.map(({ address, broadcastAuth, currentStatus, instanceRecord }) => (
-
-
- {address}
- {broadcastAuth ? 'true' : 'false'}
-
- {t('Current_Status')} > {t('Connected')}
- >
- }
- >
- {currentStatus.connected ? 'true' : 'false'}
-
-
- {t('Current_Status')} > {t('Local')}
- >
- }
- >
- {currentStatus.local ? 'true' : 'false'}
-
-
- {t('Current_Status')} > {t('Last_Heartbeat_Time')}
- >
- }
- >
- {currentStatus.lastHeartbeatTime}
-
-
- {t('Instance_Record')} > {t('ID')}
- >
- }
- >
- {instanceRecord._id}
-
-
- {t('Instance_Record')} > {t('PID')}
- >
- }
- >
- {instanceRecord.pid}
-
-
- {t('Instance_Record')} > {t('Created_at')}
- >
- }
- >
- {formatDateAndTime(instanceRecord._createdAt)}
-
-
- {t('Instance_Record')} > {t('Updated_at')}
- >
- }
- >
- {formatDateAndTime(instanceRecord._updatedAt)}
-
-
-
- ))}
-
-
-
-
-
-
-
-
- );
-};
-
-export default InstancesModal;
diff --git a/apps/meteor/client/views/admin/info/DescriptionList.stories.tsx b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.stories.tsx
similarity index 68%
rename from apps/meteor/client/views/admin/info/DescriptionList.stories.tsx
rename to apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.stories.tsx
index 3cbf89db64b..7a0f70f2c0f 100644
--- a/apps/meteor/client/views/admin/info/DescriptionList.stories.tsx
+++ b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.stories.tsx
@@ -2,6 +2,7 @@ import type { ComponentMeta, ComponentStory } from '@storybook/react';
import React from 'react';
import DescriptionList from './DescriptionList';
+import DescriptionListEntry from './DescriptionListEntry';
export default {
title: 'Admin/Info/DescriptionList',
@@ -14,9 +15,9 @@ export default {
export const Default: ComponentStory = (args) => (
- Value
- Value
- Value
+ Value
+ Value
+ Value
);
Default.storyName = 'DescriptionList';
diff --git a/apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.tsx b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.tsx
new file mode 100644
index 00000000000..664b2752ce9
--- /dev/null
+++ b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionList.tsx
@@ -0,0 +1,23 @@
+import { Box, Table, TableBody } from '@rocket.chat/fuselage';
+import type { ReactNode } from 'react';
+import React, { memo } from 'react';
+
+type DescriptionListProps = {
+ children: ReactNode;
+ title?: string;
+};
+
+const DescriptionList = ({ children, title }: DescriptionListProps) => (
+ <>
+ {title && (
+
+ {title}
+
+ )}
+
+ >
+);
+
+export default memo(DescriptionList);
diff --git a/apps/meteor/client/views/admin/info/InstancesModal/DescriptionListEntry.tsx b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionListEntry.tsx
new file mode 100644
index 00000000000..a8c815d6dce
--- /dev/null
+++ b/apps/meteor/client/views/admin/info/InstancesModal/DescriptionListEntry.tsx
@@ -0,0 +1,21 @@
+import { TableRow, TableCell } from '@rocket.chat/fuselage';
+import type { ReactNode } from 'react';
+import React, { memo } from 'react';
+
+type DescriptionListEntryProps = {
+ label: ReactNode;
+ children: ReactNode;
+};
+
+const DescriptionListEntry = ({ children, label }: DescriptionListEntryProps) => (
+
+
+ {label}
+
+
+ {children}
+
+
+);
+
+export default memo(DescriptionListEntry);
diff --git a/apps/meteor/client/views/admin/info/InstancesModal.stories.tsx b/apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.stories.tsx
similarity index 74%
rename from apps/meteor/client/views/admin/info/InstancesModal.stories.tsx
rename to apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.stories.tsx
index 53c36fbc172..b8d66526bf7 100644
--- a/apps/meteor/client/views/admin/info/InstancesModal.stories.tsx
+++ b/apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.stories.tsx
@@ -25,20 +25,29 @@ Default.args = {
broadcastAuth: false,
currentStatus: {
connected: true,
- retryCount: 0,
- retryTime: 30000,
- status: 'running',
},
instanceRecord: {
+ _updatedAt: '00-00-00',
+ _createdAt: '00-00-00',
_id: 'instance-id',
name: 'instance-name',
pid: 123,
- _createdAt: new Date(),
- _updatedAt: new Date(),
extraInformation: {
host: '127.0.0.1',
nodeVersion: 'v14.18.2',
- port: 3000,
+ port: '',
+ tcpPort: 123,
+ os: {
+ type: 'macOSX',
+ platform: '',
+ arch: 'x64',
+ release: '236',
+ uptime: 10,
+ loadavg: [123, 123],
+ totalmem: 123,
+ freemem: 123,
+ cpus: 8,
+ },
},
},
},
diff --git a/apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.tsx b/apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.tsx
new file mode 100644
index 00000000000..44d9aacc321
--- /dev/null
+++ b/apps/meteor/client/views/admin/info/InstancesModal/InstancesModal.tsx
@@ -0,0 +1,92 @@
+import type { Serialized } from '@rocket.chat/core-typings';
+import { Accordion } from '@rocket.chat/fuselage';
+import type { IInstance } from '@rocket.chat/rest-typings';
+import { useTranslation } from '@rocket.chat/ui-contexts';
+import React from 'react';
+
+import GenericModal from '../../../../components/GenericModal';
+import { useFormatDateAndTime } from '../../../../hooks/useFormatDateAndTime';
+import DescriptionList from './DescriptionList';
+import DescriptionListEntry from './DescriptionListEntry';
+
+type InstancesModalProps = {
+ instances: Serialized[];
+ onClose: () => void;
+};
+
+const InstancesModal = ({ instances = [], onClose }: InstancesModalProps) => {
+ const t = useTranslation();
+ const formatDateAndTime = useFormatDateAndTime();
+
+ return (
+
+
+ {instances.map(({ address, broadcastAuth, currentStatus, instanceRecord }) => (
+
+
+ {address}
+ {broadcastAuth ? 'true' : 'false'}
+
+ {t('Current_Status')} > {t('Connected')}
+ >
+ }
+ >
+ {currentStatus.connected ? 'true' : 'false'}
+
+
+ {t('Current_Status')} > {t('Local')}
+ >
+ }
+ >
+ {currentStatus.local ? 'true' : 'false'}
+
+
+ {t('Current_Status')} > {t('Last_Heartbeat_Time')}
+ >
+ }
+ >
+ {currentStatus.lastHeartbeatTime}
+
+ {t('Instance_Record')} > ID>}>{instanceRecord?._id}
+
+ {t('Instance_Record')} > {t('PID')}
+ >
+ }
+ >
+ {instanceRecord?.pid}
+
+
+ {t('Instance_Record')} > {t('Created_at')}
+ >
+ }
+ >
+ {formatDateAndTime(instanceRecord?._createdAt)}
+
+
+ {t('Instance_Record')} > {t('Updated_at')}
+ >
+ }
+ >
+ {formatDateAndTime(instanceRecord?._updatedAt)}
+
+
+
+ ))}
+
+
+ );
+};
+
+export default InstancesModal;
diff --git a/apps/meteor/client/views/admin/info/InstancesModal/index.ts b/apps/meteor/client/views/admin/info/InstancesModal/index.ts
new file mode 100644
index 00000000000..ce2654adcd5
--- /dev/null
+++ b/apps/meteor/client/views/admin/info/InstancesModal/index.ts
@@ -0,0 +1 @@
+export { default } from './InstancesModal';
diff --git a/packages/rest-typings/src/v1/instances.ts b/packages/rest-typings/src/v1/instances.ts
index c24c652996f..5e4779b0b34 100644
--- a/packages/rest-typings/src/v1/instances.ts
+++ b/packages/rest-typings/src/v1/instances.ts
@@ -8,7 +8,6 @@ export interface IInstance {
lastHeartbeatTime?: number;
};
instanceRecord?: IInstanceStatus;
-
broadcastAuth: boolean;
}