diff --git a/src/components/Diagnostics.css b/src/components/Diagnostics.css
new file mode 100644
index 0000000..e69de29
diff --git a/src/components/Diagnostics.js b/src/components/Diagnostics.js
new file mode 100644
index 0000000..86e2d61
--- /dev/null
+++ b/src/components/Diagnostics.js
@@ -0,0 +1,68 @@
+import React, { useEffect, useState, useRef } from 'react';
+import { query, collection, onSnapshot, where, orderBy, limit } from 'firebase/firestore';
+import moment from 'moment';
+
+import db from '../firebase';
+import './Diagnostics.css';
+
+const Diagnostics = () => {
+ const [samples, setSamples] = useState([]);
+
+ useEffect(() => {
+ if (!samples.length) {
+ const q = query(collection(db, "diagnostics"), where("runTime", ">=", moment().format("YYYY-MM-DD").toString()), orderBy("runTime", "desc"));
+
+ const unsub = onSnapshot(q, (querySnapshot) => {
+ const samples = [];
+ querySnapshot.forEach((document) => {
+ console.log(document.id);
+ const data = document.data();
+ const id = document.id;
+ samples.push({id, ...data});
+ });
+ setSamples(samples);
+ });
+
+ return () => unsub;
+ }
+ }, []);
+
+ return (
+
+ {/*
Samples page for denovix useage
+ {samples.length ? (
+ samples.map((alert, index) => (
+
+
{alert._id}
+
{alert.testTime}
+
{moment(alert.testTime).fromNow()}
+
+ ))
+ ) : (
+
Samples will appear as in when a test is recorded
+ )} */}
+
+
+
Diagnostics
+
+
+
+
+ | Device |
+ Raw Data |
+ Time |
+
+ {samples.map((sample, index) => (
+
+ | {sample.deviceId} |
+ {sample.deviceData || 'NA'} |
+ {moment(sample.testTime).format('HH:mm:ss')} |
+
+ ))}
+
+
+
+ )
+}
+
+export default Diagnostics;
\ No newline at end of file
diff --git a/src/routes/appRoutes.js b/src/routes/appRoutes.js
index bae64d4..f4c6429 100644
--- a/src/routes/appRoutes.js
+++ b/src/routes/appRoutes.js
@@ -7,7 +7,7 @@ import Devices from '../components/Devices';
import { Download, FactCheck } from '@mui/icons-material';
import ExportData from '../components/ExportData';
import Registration from '../components/Registration';
-import { FaAndroid, FaArrowCircleLeft, FaBars, FaBezierCurve, FaChalkboardTeacher, FaChartArea, FaChartLine, FaCheck, FaCommentAlt, FaExclamation, FaFlask, FaGolfBall, FaPhone, FaQuestionCircle, FaSearch, FaUser } from 'react-icons/fa';
+import { FaAndroid, FaArrowCircleLeft, FaBars, FaBezierCurve, FaChalkboardTeacher, FaChartArea, FaChartLine, FaCheck, FaCommentAlt, FaExclamation, FaFlask, FaGolfBall, FaMicrochip, FaPhone, FaQuestionCircle, FaSearch, FaUser } from 'react-icons/fa';
import AppInstallation from '../components/AppInstallation';
import Samples from '../components/Samples';
import Precision from '../components/Precision';
@@ -15,6 +15,7 @@ import Accuracy from '../components/Accuracy';
import CurveFit from '../components/CurveFit';
import Help from '../components/Help';
import Gemini from '../components/Gemini';
+import Diagnostics from '../components/Diagnostics';
const appRoutes = [
{
@@ -76,6 +77,15 @@ const appRoutes = [
icon:
}
},
+ {
+ path: "/diagnostics",
+ element: ,
+ state: "Diagnostics",
+ sidebarProps: {
+ displayText: "Device Data",
+ icon:
+ }
+ },
// {
// path: "/precision",
// element: ,