From b83a58bf201793e437db7e2ef4f7da582d9dc6f0 Mon Sep 17 00:00:00 2001
From: Romain CREY <ext.sopra.rcrey@grandlyon.com>
Date: Wed, 17 Jun 2020 14:46:44 +0200
Subject: [PATCH] WIP: browser detect

---
 package.json                                       |  2 ++
 .../ViewContainer/ParametersViewContainer.tsx      | 14 ++++++++++++++
 src/components/ContentComponents/Charts/Bar.tsx    |  1 +
 src/custom.d.ts                                    |  2 ++
 yarn.lock                                          | 12 +++++++++++-
 5 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 3ab036a8f..f79dff6f8 100644
--- a/package.json
+++ b/package.json
@@ -86,6 +86,7 @@
     "cozy-scripts": "2.0.2",
     "cozy-ui": "21.7.0",
     "d3": "^5.15.0",
+    "detect-browser": "^5.1.1",
     "eslint-config-cozy-app": "1.1.12",
     "global": "^4.4.0",
     "lodash": "^4.17.15",
@@ -95,6 +96,7 @@
     "node-sass": "^4.13.0",
     "object-hash": "^2.0.3",
     "react": "16.8.6",
+    "react-detect-browser": "^1.0.0",
     "react-dom": "16.8.6",
     "react-lottie": "^1.2.3",
     "react-router-dom": "5.0.1",
diff --git a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
index b2fe9942c..c9a0c42bd 100644
--- a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
@@ -5,6 +5,7 @@ import Content from 'components/ContainerComponents/Content/Content'
 import KonnectorViewerContainer from 'components/ContainerComponents/KonnectorViewerContainer/KonnectorViewerContainer'
 import FAQContainer from 'components/ContainerComponents/FAQContainer/FAQContainer'
 import LegalContainer from 'components/ContainerComponents/LegalContainer/LegalContainer'
+import DetectBrowser from 'react-detect-browser'
 
 const ParametersViewContainer: React.FC = () => {
   const [headerHeight, setHeaderHeight] = useState<number>(0)
@@ -23,6 +24,19 @@ const ParametersViewContainer: React.FC = () => {
         <KonnectorViewerContainer isParam={true} />
         <LegalContainer />
       </Content>
+      <DetectBrowser>
+        {({ browser }) =>
+          browser ? (
+            <div>
+              <h1>Browser: {browser.name}</h1>
+              <p>Version: {browser.version}</p>
+              <p>OS: {browser.os}</p>
+            </div>
+          ) : (
+            <h1>Could not identity browser</h1>
+          )
+        }
+      </DetectBrowser>
     </React.Fragment>
   )
 }
diff --git a/src/components/ContentComponents/Charts/Bar.tsx b/src/components/ContentComponents/Charts/Bar.tsx
index 8342a11b7..91158725f 100644
--- a/src/components/ContentComponents/Charts/Bar.tsx
+++ b/src/components/ContentComponents/Charts/Bar.tsx
@@ -8,6 +8,7 @@ import {
 import { compareStepDate } from 'services/dateChartService'
 import { FluidType } from 'enum/fluid.enum'
 import { DateTime } from 'luxon'
+import DetectBrowser from 'react-detect-browser'
 
 interface BarProps {
   index: number
diff --git a/src/custom.d.ts b/src/custom.d.ts
index 9c3a50175..356a39571 100644
--- a/src/custom.d.ts
+++ b/src/custom.d.ts
@@ -6,3 +6,5 @@ declare module '*.svg' {
   const content: string
   export default content
 }
+
+declare module 'react-detect-browser'
diff --git a/yarn.lock b/yarn.lock
index 479201293..c59a8ab1b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4446,6 +4446,11 @@ destroy@~1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
 
+detect-browser@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.1.1.tgz#a800db91d3fd60d0861669f5984f1be9ffbe009c"
+  integrity sha512-5n2aWI57qC3kZaK4j2zYsG6L1LrxgLptGCNhMQgdKhVn6cSdcq43pp6xHPfTHG3TYM6myF4tIPWiZtfdVDgb9w==
+
 detect-indent@6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
@@ -6331,7 +6336,7 @@ html-tags@^1.0.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-1.2.0.tgz#c78de65b5663aa597989dd2b7ab49200d7e4db98"
 
-html-to-react@^1.3.4, html-to-react@^1.4.2:
+html-to-react@^1.3.4:
   version "1.4.2"
   resolved "https://registry.yarnpkg.com/html-to-react/-/html-to-react-1.4.2.tgz#7b628ab56cd63a52f2d0b79d0fa838a51f088a57"
   dependencies:
@@ -10380,6 +10385,11 @@ react-autowhatever@^10.1.2:
     react-themeable "^1.1.0"
     section-iterator "^2.0.0"
 
+react-detect-browser@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/react-detect-browser/-/react-detect-browser-1.0.0.tgz#dbf08bae3f42892340ed1a6d1ad0d4376c3bf84a"
+  integrity sha512-lFcquI0daSQUs3WVsXJ6jeVm45Y9T2LDxLfC1nhUk+H+FfQgOw8lQ+Tc6aIlM3rvj/es9bLdXoq2LSM9tXeY4w==
+
 react-dom@16.8.6:
   version "16.8.6"
   resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.6.tgz#71d6303f631e8b0097f56165ef608f051ff6e10f"
-- 
GitLab