diff --git a/conf/nginx.conf b/conf/nginx.conf
index d7ad877..6e717ef 100644
--- a/conf/nginx.conf
+++ b/conf/nginx.conf
@@ -5,4 +5,5 @@ server {
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
+ add_header Content-Security-Policy "default-src 'self';" always;
}
\ No newline at end of file
diff --git a/pmp-frontend-app/package-lock.json b/pmp-frontend-app/package-lock.json
index 61ef4b2..c2c11bc 100644
--- a/pmp-frontend-app/package-lock.json
+++ b/pmp-frontend-app/package-lock.json
@@ -16,6 +16,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-google-recaptcha": "^3.1.0",
+ "react-iframe": "^1.8.5",
"react-markdown": "^9.0.1",
"react-router-dom": "^6.22.3",
"remark-gfm": "^4.0.0"
@@ -4769,6 +4770,17 @@
"react": ">=16.4.1"
}
},
+ "node_modules/react-iframe": {
+ "version": "1.8.5",
+ "resolved": "https://registry.npmjs.org/react-iframe/-/react-iframe-1.8.5.tgz",
+ "integrity": "sha512-F4cQJGs3ydaG6fJWfuz9yLwOU0Trzl6kttXuUG+vYwosH8enOOFxZWEDQCSbNVO8ayjfYZeqLxEvdvcsSy4GvA==",
+ "dependencies": {
+ "object-assign": "^4.1.1"
+ },
+ "peerDependencies": {
+ "react": ">=16.x.x"
+ }
+ },
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
diff --git a/pmp-frontend-app/package.json b/pmp-frontend-app/package.json
index 99a5c68..9b894c2 100644
--- a/pmp-frontend-app/package.json
+++ b/pmp-frontend-app/package.json
@@ -18,6 +18,7 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-google-recaptcha": "^3.1.0",
+ "react-iframe": "^1.8.5",
"react-markdown": "^9.0.1",
"react-router-dom": "^6.22.3",
"remark-gfm": "^4.0.0"
diff --git a/pmp-frontend-app/src/components/Routes.tsx b/pmp-frontend-app/src/components/Routes.tsx
index f3610f3..b6a96b5 100644
--- a/pmp-frontend-app/src/components/Routes.tsx
+++ b/pmp-frontend-app/src/components/Routes.tsx
@@ -13,6 +13,7 @@ import AboutFAQPage from '../pages/AboutFAQPage';
import AboutTeamPage from '../pages/AboutTeamPage';
import AboutPartnersPage from '../pages/AboutPartnersPage';
import AccessClinicalDataPage from '../pages/AccessClinicalDataPage'
+import KiarvaIFramePage from '../pages/KiarvaIFramePage';
const router = createBrowserRouter([
{
@@ -73,6 +74,10 @@ const router = createBrowserRouter([
path: 'privacy',
element: ,
},
+ {
+ path: 'kiarva',
+ element: ,
+ },
]
},
]);
diff --git a/pmp-frontend-app/src/pages/KiarvaIFramePage.tsx b/pmp-frontend-app/src/pages/KiarvaIFramePage.tsx
new file mode 100644
index 0000000..51cd300
--- /dev/null
+++ b/pmp-frontend-app/src/pages/KiarvaIFramePage.tsx
@@ -0,0 +1,21 @@
+import { ReactElement } from 'react';
+import { TrackPageViewIfEnabled } from '../util/cookiesHandling';
+import Iframe from 'react-iframe';
+
+export default function KiarvaIFramePage(): ReactElement {
+ TrackPageViewIfEnabled();
+
+ let kiarva_hostname = '';
+
+ return (
+ <>
+ {kiarva_hostname &&
+ ()
+ }
+ >
+ );
+}
\ No newline at end of file