import React, { useState, useEffect, useReducer, useContext } from 'react'; import { BrowserRouter as Router, Switch, Route, Link, useParams, useHistory } from 'react-router-dom'; import { Button, Container, Checkbox, Dimmer, Divider, Dropdown, Form, Grid, Header, Icon, Image, Menu, Message, Segment, Table } from 'semantic-ui-react'; import { BarChart, Bar, LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ResponsiveContainer, ReferenceLine } from 'recharts'; import { apiUrl, statusColor, BasicTable, staticUrl, requester } from './utils.js'; import { NotFound } from './Misc.js'; let memberCountCache = false; let signupCountCache = false; export function Charts(props) { const [memberCount, setMemberCount] = useState(memberCountCache); const [signupCount, setSignupCount] = useState(signupCountCache); useEffect(() => { requester('/charts/membercount/', 'GET') .then(res => { setMemberCount(res); memberCountCache = res; }) .catch(err => { console.log(err); }); requester('/charts/signupcount/', 'GET') .then(res => { setSignupCount(res); signupCountCache = res; }) .catch(err => { console.log(err); }); }, []); return (
Charts
Member Counts

Daily since March 2nd, 2020.

{memberCount && }

The Member Count is the amount of Prepaid, Current, Due, and Overdue members on Spaceport.

The Green Count is the amount of Prepaid and Current members.

Signup Count

Monthly for the last sixteen months.

{signupCount && }

The Signup Count is the number of brand new account registrations per month.

); };