From 0216f8879440ce73d90a9e58cc5eac68240e9fdd Mon Sep 17 00:00:00 2001 From: Galen Guyer Date: Fri, 29 Oct 2021 12:19:15 -0400 Subject: add static data for 2020-2021 school year --- src/App.js | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) create mode 100644 src/App.js (limited to 'src/App.js') diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..fd5e6d0 --- /dev/null +++ b/src/App.js @@ -0,0 +1,215 @@ +import React from "react"; +import useSWR from "swr"; +import { DateTime } from "luxon"; +import { BrowserRouter, Route, Switch, Link } from "react-router-dom"; +import MainPage from "./MainPage"; +import History from "./History"; +import HistoryTable from "./HistoryTable"; +import "./App.css"; + +const url = "/data.json"; + +function App() { + let { data: rawData, error: error } = useSWR(url); + + const [timeDifference, setTimeDifference] = React.useState(1); + const [showAllTime, setShowAllTime] = React.useState(false); + + if (error) + return ( +
+

RIT Covid Dashboard

+

An error occurred

+
+ ); + if (!rawData) + return ( +
+

RIT Covid Dashboard

+

Loading latest data...

+
+ ); + + // rawData = rawData.slice(0, 177); + let data = rawData; + console.log(data.length); + const local = DateTime.local().zoneName; + const semesterStart = DateTime.fromISO("2021-01-01"); + // if (!showAllTime) { + // data = rawData.filter((d) => { + // let date = DateTime.fromSQL(d.last_updated, { zone: "UTC" }).setZone(local); + // return date > semesterStart; + // }); + // const last = rawData[rawData.length - data.length - 1]; + // data = data.map((d) => { + // return { + // alert_level: d.alert_level, + // beds_available: d.beds_available, + // isolation_off_campus: d.isolation_off_campus, + // isolation_on_campus: d.isolation_on_campus, + // last_updated: d.last_updated, + // new_staff: d.new_staff, + // new_students: d.new_students, + // quarantine_off_campus: d.quarantine_off_campus, + // quarantine_on_campus: d.quarantine_on_campus, + // tests_administered: d.tests_administered - last.tests_administered, + // total_staff: d.total_staff - last.total_staff, + // total_students: d.total_students - last.total_students, + // }; + // }); + // } + + const latest = data[data.length - 1]; + const prior = data[data.length - (1 + timeDifference)]; + return ( + +
+

+ RIT Covid Dashboard +

+ {/* +

+ Last Updated:{" "} + {lastUpdate.toLocaleString({ + weekday: "long", + month: "long", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + })} +

+

+ Prior Update:{" "} + {priorUpdate.toLocaleString({ + weekday: "long", + month: "long", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + })}{" "} + ({timeDifference == 1 ? "one day ago" : timeDifference == 5 ? "one week ago" : "two weeks ago"}) +

+ */} + {/* +   + */} +
+ + + + + + { + return { value: d.total_students, date: d.last_updated }; + })} + /> + + + { + return { value: d.total_staff, date: d.last_updated }; + })} + /> + + + { + return { value: d.new_students, date: d.last_updated }; + })} + /> + + + { + return { value: d.new_staff, date: d.last_updated }; + })} + /> + + + { + return { value: d.quarantine_on_campus, date: d.last_updated }; + })} + /> + + + { + return { value: d.quarantine_off_campus, date: d.last_updated }; + })} + /> + + + + { + return { value: d.isolation_on_campus, date: d.last_updated }; + })} + /> + + + { + return { value: d.isolation_off_campus, date: d.last_updated }; + })} + /> + + + { + return { value: d.tests_administered, date: d.last_updated }; + })} + /> + + + { + return { value: d.beds_available, date: d.last_updated }; + })} + /> + + +
+

+ By Galen Guyer. Source available on{" "} + + GitHub + {" "} + ( + + Report Issue + + ) +

+

+ + API Documentation + +

+
+
+ ); +} + +export default App; -- cgit v1.2.3