+ Remove Integration
+
+ Removing the {integrationTitle} integration would make your workspace stop
+ listening for data from {integrationTitle} instances.
+
+
+ }
+ onClick={(): void => showModal()}
+ >
+ Remove from SigNoz
+
+
+
+ Removing this integration makes SigNoz stop listening for data from{' '}
+ {integrationTitle} instances. You would still have to manually remove the
+ configuration in your code to stop sending data.
+
+
+
+ );
+}
+
+export default IntergrationsUninstallBar;
diff --git a/frontend/src/pages/Integrations/IntegrationDetailPage/TestConnection.tsx b/frontend/src/pages/Integrations/IntegrationDetailPage/TestConnection.tsx
new file mode 100644
index 0000000000..e593e121e1
--- /dev/null
+++ b/frontend/src/pages/Integrations/IntegrationDetailPage/TestConnection.tsx
@@ -0,0 +1,35 @@
+import './IntegrationDetailPage.styles.scss';
+
+import cx from 'classnames';
+
+export enum ConnectionStates {
+ Connected = 'connected',
+ TestingConnection = 'testingConnection',
+ NoDataSinceLong = 'noDataSinceLong',
+ NotInstalled = 'notInstalled',
+}
+
+const ConnectionStatesLabelMap = {
+ [ConnectionStates.Connected]: 'This integration is working properly',
+ [ConnectionStates.TestingConnection]: 'Listening for data...',
+ [ConnectionStates.NoDataSinceLong]:
+ 'This integration has not received data in a while :/',
+ [ConnectionStates.NotInstalled]: '',
+};
+
+interface TestConnectionProps {
+ connectionState: ConnectionStates;
+}
+
+function TestConnection(props: TestConnectionProps): JSX.Element {
+ const { connectionState } = props;
+ return (
+