import logo from './logo.png'; import './App.css'; import React, { useEffect, useState } from 'react'; import { initializeApp } from "firebase/app"; import { getAnalytics } from "firebase/analytics"; import { getFirestore, collection, getDocs, doc, onSnapshot, query } from "firebase/firestore"; import Card from './components/Card'; // dev and test // const firebaseConfig = { // apiKey: "AIzaSyBFl_YkJ5PMIvMY3G70313SyrqemjFnUv8", // authDomain: "hpos-af3cc.firebaseapp.com", // projectId: "hpos-af3cc", // storageBucket: "hpos-af3cc.appspot.com", // messagingSenderId: "650071678820", // appId: "1:650071678820:web:ce50538bf46632d46c6471", // measurementId: "G-6JHQ47S9DD" // }; // prod const firebaseConfig = { apiKey: "AIzaSyBF4pLZReAedU4dWX1eRJNFNIaOIz2xk4s", authDomain: "hpos-prod.firebaseapp.com", projectId: "hpos-prod", storageBucket: "hpos-prod.appspot.com", messagingSenderId: "1012719870714", appId: "1:1012719870714:web:fcd00acef93f6612de5f43", measurementId: "G-B0NZ7DEF69" }; const app = initializeApp(firebaseConfig); const analytics = getAnalytics(app); const db = getFirestore(app); function App() { const [mtests, setMtests] = useState([]); const [totalScreened, setTotalScreened] = useState(0); const [males, setMales] = useState(0); const [females, setFemales] = useState(0); const [positives, setPositives] = useState(0); const [traits, setTraits] = useState(0); const [diseases, setDiseases] = useState(0); const [lastUpdate, setLastUpdate] = useState(Date.now()); useEffect(() => { const q = query(collection(db, "patientData")); const unsub = onSnapshot(q, (querySnapshot) => { const patients = []; let maleCount = 0; let femaleCount = 0; querySnapshot.forEach((document) => { const patient = document.data(); patients.push(patient); const { gender } = patient; if (gender.toLowerCase() === 'male') { maleCount++; } if (gender.toLowerCase() === 'female') { femaleCount++; } }); setTotalScreened(patients.length); setMales(maleCount); setFemales(femaleCount); setLastUpdate(Date.now()); }); }, []); useEffect(() => { const q = query(collection(db, "testData")); const unsub = onSnapshot(q, (querySnapshot) => { const hposTests = []; let traitCount = 0; let diseaseCount = 0; querySnapshot.forEach((document) => { const hposTestData = document.data(); hposTests.push(hposTestData); const { result } = hposTestData; if (result === 'SICKLECELLTRAIT') { traitCount++; } if (result === 'SICKLECELLDISEASE') { diseaseCount++; } }); setPositives(traitCount + diseaseCount); setTraits(traitCount); setDiseases(diseaseCount); setLastUpdate(Date.now()); }); }, []); async function getTests() { try { const testDataCol = collection(db, 'testData'); const testDataSnapshot = await getDocs(testDataCol); const testDataList = testDataSnapshot.docs.map(doc => doc.data()); console.log(testDataList); setMtests(testDataList); return testDataList; } catch (err) { // log error } } return (
ShanMukha