diff --git a/Client/package-lock.json b/Client/package-lock.json
index 7236f3b6e..98ad78e8d 100644
--- a/Client/package-lock.json
+++ b/Client/package-lock.json
@@ -2268,9 +2268,15 @@
}
},
"node_modules/caniuse-lite": {
+<<<<<<< HEAD
+ "version": "1.0.30001628",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001628.tgz",
+ "integrity": "sha512-S3BnR4Kh26TBxbi5t5kpbcUlLJb9lhtDXISDPwOfI+JoC+ik0QksvkZtUVyikw3hjnkgkMPSJ8oIM9yMm9vflA==",
+=======
"version": "1.0.30001629",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001629.tgz",
"integrity": "sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==",
+>>>>>>> 3f41db916efdd46069589e91f5886a4a01d11896
"dev": true,
"funding": [
{
@@ -2640,9 +2646,15 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.796",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.796.tgz",
- "integrity": "sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==",
+<<<<<<< HEAD
+ "version": "1.4.790",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.790.tgz",
+ "integrity": "sha512-eVGeQxpaBYbomDBa/Mehrs28MdvCXfJmEFzaMFsv8jH/MJDLIylJN81eTJ5kvx7B7p18OiPK0BkC06lydEy63A==",
+=======
+ "version": "1.4.792",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.792.tgz",
+ "integrity": "sha512-rkg5/N3L+Y844JyfgPUyuKK0Hk0efo3JNxUDKvz3HgP6EmN4rNGhr2D8boLsfTV/hGo7ZGAL8djw+jlg99zQyA==",
+>>>>>>> 3f41db916efdd46069589e91f5886a4a01d11896
"dev": true
},
"node_modules/error-ex": {
diff --git a/Client/src/Components/Integrations/index.jsx b/Client/src/Components/Integrations/index.jsx
index b0e00bdfe..4709adef6 100644
--- a/Client/src/Components/Integrations/index.jsx
+++ b/Client/src/Components/Integrations/index.jsx
@@ -1,11 +1,17 @@
import { Box, Typography, useTheme } from '@mui/material';
import Button from '../Button';
+import PropTypes from 'prop-types';
/**
* Integrations component
- * @returns {JSX.Element}
+ * @param {Object} props - Props for the IntegrationsComponent.
+ * @param {string} props.url - The URL for the integration image.
+ * @param {string} props.header - The header for the integration.
+ * @param {string} props.info - Information about the integration.
+ * @param {Function} props.onClick - The onClick handler for the integration button.
+ * @returns {JSX.Element} The JSX representation of the IntegrationsComponent.
*/
-const Integrations = () => {
+const IntegrationsComponent = ({ url, header, info, onClick }) => {
const theme = useTheme();
return (
@@ -19,8 +25,8 @@ const Integrations = () => {
>
@@ -32,8 +38,8 @@ const Integrations = () => {
flexDirection="column"
alignItems="flex-start"
>
-
- Header
+
+ {header}
{
wordWrap: 'break-word',
textAlign: 'left'
}}
+ style={{ fontSize: '13px' }}
>
- This is a paragraph that provides more detail about the header.
+ {info}
-
+
);
};
-export default Integrations;
+// PropTypes for IntegrationsComponent
+IntegrationsComponent.propTypes = {
+ url: PropTypes.string.isRequired,
+ header: PropTypes.string.isRequired,
+ info: PropTypes.string.isRequired,
+ onClick: PropTypes.func.isRequired
+};
+
+export default IntegrationsComponent;
diff --git a/Client/src/Pages/Integrations/index.jsx b/Client/src/Pages/Integrations/index.jsx
index 1df87ee52..5cde4f4db 100644
--- a/Client/src/Pages/Integrations/index.jsx
+++ b/Client/src/Pages/Integrations/index.jsx
@@ -1,9 +1,70 @@
-import React from 'react'
+import { Box, Typography, useTheme } from '@mui/material';
+import IntegrationsComponent from '../../Components/Integrations';
+
+/**
+ * Integrations Page Component
+ * @returns {JSX.Element} The JSX representation of the Integrations page.
+ */
const Integrations = () => {
- return (
- Integrations
- )
-}
+ const theme = useTheme();
-export default Integrations
\ No newline at end of file
+
+ const integrations = [
+ {
+ url: 'https://via.placeholder.com/100',
+ header: 'Integration 1',
+ info: 'Info about Integration 1',
+ onClick: () => {}
+ },
+ {
+ url: 'https://via.placeholder.com/100',
+ header: 'Integration 2',
+ info: 'Info about Integration 2',
+ onClick: () => {}
+ },
+ {
+ url: 'https://via.placeholder.com/100',
+ header: 'Integration 2',
+ info: 'Info about Integration 2',
+ onClick: () => {}
+ }
+ // Add more integrations as needed
+ ];
+
+ return (
+
+
+ Integrations
+
+
+ Connect Uptime Genie to your favorite service
+
+
+ {integrations.map((integration, index) => (
+
+ ))}
+
+
+ );
+};
+
+export default Integrations;