dappros/ethora

View on GitHub
client-web/build-prod/static/js/296.7fed2419.chunk.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"static/js/296.7fed2419.chunk.js","mappings":"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","sources":["pages/Statistics/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport Container from \"@mui/material/Container\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\nimport * as http from \"../../http\";\nimport { config } from \"../../config\";\nimport TextField from \"@mui/material/TextField\";\nimport Button from \"@mui/material/Button\";\nimport { format } from \"date-fns\";\nimport LoadingButton from \"@mui/lab/LoadingButton\";\nimport {\n  LineChart,\n  Line,\n  XAxis,\n  YAxis,\n  CartesianGrid,\n  Tooltip,\n  Legend,\n  ResponsiveContainer,\n} from \"recharts\";\n\ninterface TabPanelProps {\n  children?: React.ReactNode;\n  index: number;\n  value: number;\n}\n\nfunction TabPanel(props: TabPanelProps) {\n  const { children, value, index, ...other } = props;\n\n  return (\n    <div\n      role=\"tabpanel\"\n      hidden={value !== index}\n      id={`simple-tabpanel-${index}`}\n      aria-labelledby={`simple-tab-${index}`}\n      style={{ height: \"100%\" }}\n      {...other}\n    >\n      {value === index && (\n        <Box sx={{ p: 3 }}>\n          <Typography>{children}</Typography>\n        </Box>\n      )}\n    </div>\n  );\n}\n\nfunction a11yProps(index: number) {\n  return {\n    id: `simple-tab-${index}`,\n    \"aria-controls\": `simple-tabpanel-${index}`,\n    disableFocusRipple: true,\n  };\n}\n\nexport default function StatisticsPage() {\n  const [value, setValue] = React.useState(0);\n  const [apiCount, setApiCount] = React.useState();\n  const [sessionsCount, setSessionsCount] = React.useState();\n  const [transactionCount, setTransactionCount] = React.useState();\n  const [issuanceCount, setIssuenceCount] = React.useState();\n  const [loading, setLoading] = React.useState(false);\n  const [sessionGraph, setSessionGraph] = React.useState([]);\n  const [apisGraph, setApisGraph] = React.useState([]);\n  const [transactionGraph, setTransactionGraph] = React.useState([]);\n  const [issuanceGraph, setIssuenceGraph] = React.useState([]);\n\n  const [startDate, setStartDate] = React.useState(() => {\n    const startDate = new Date();\n    startDate.setDate(1);\n    startDate.setHours(0, 0, 0, 0);\n    return format(startDate, \"yyyy-MM-dd\");\n  });\n\n  const [endDate, setEndDate] = React.useState(() => {\n    const endDate = new Date();\n    return format(endDate, \"yyyy-MM-dd\");\n  });\n\n  const confirUrl = new URL(config.API_URL);\n  const baseUrl = confirUrl.origin;\n\n  const getCounts = async () => {\n    setLoading(true);\n    try {\n      const sessionCountResp = await http.httpWithAuth()({\n        url: `${baseUrl}/analysis/sessions-count?startDate=${startDate}&endDate=${endDate}`,\n      });\n      setSessionsCount(sessionCountResp.data.count);\n\n      const transactionCountResp = await http.httpWithAuth()({\n        url: `${baseUrl}/analysis/transactions-count?startDate=${startDate}&endDate=${endDate}`,\n      });\n      setTransactionCount(transactionCountResp.data.count);\n\n      const issuanceCountResp = await http.httpWithAuth()({\n        url: `${baseUrl}/analysis/issuance-count?startDate=${startDate}&endDate=${endDate}`,\n      });\n      setIssuenceCount(issuanceCountResp.data.count);\n\n      const apisCountResp = await http.httpWithAuth()({\n        url: `${baseUrl}/analysis/apis-count?startDate=${startDate}&endDate=${endDate}`,\n      });\n      setApiCount(apisCountResp.data.count);\n    } catch (e) {\n      setLoading(false);\n    }\n    setLoading(false);\n  };\n\n  const getGraph = async () => {\n    const sessionGraphResp = await http.httpWithAuth()({\n      url: `${baseUrl}/analysis/sessions-graph?startDate=${startDate}&endDate=${endDate}`,\n    });\n    // /analysis/apis-graph?startDate=${startDate}&endDate=${endDate}\n    const apiGraphResp = await http.httpWithAuth()({\n      url: `${baseUrl}/analysis/apis-graph?startDate=${startDate}&endDate=${endDate}`,\n    });\n\n    const transactionsGraphResp = await http.httpWithAuth()({\n      url: `${baseUrl}/analysis/transactions-graph?startDate=${startDate}&endDate=${endDate}`,\n    });\n\n    const issuanceGraphResp = await http.httpWithAuth()({\n      url: `${baseUrl}/analysis/issuance-graph?startDate=${startDate}&endDate=${endDate}`,\n    });\n\n    function convert(data) {\n      let converded = [];\n\n      for (const [index, value] of data.y.entries()) {\n        converded.push({\n          value: value,\n          // name: data.x[index],\n          name: format(new Date(data.x[index]), \"yyyy-MM-dd\"),\n        });\n      }\n\n      return converded;\n    }\n\n    setSessionGraph(convert(sessionGraphResp.data));\n    setApisGraph(convert(apiGraphResp.data));\n    setTransactionGraph(convert(transactionsGraphResp.data));\n    setIssuenceGraph(convert(issuanceGraphResp.data));\n  };\n\n  React.useEffect(() => {\n    getCounts();\n    getGraph();\n  }, []);\n\n  const handleChange = (event: React.SyntheticEvent, newValue: number) => {\n    setValue(newValue);\n  };\n\n  const filterStats = async () => {\n    await getCounts();\n    await getGraph();\n  };\n\n  const onUploadCsv = async () => {\n    let response = await http.httpWithAuth()({\n      url: `${baseUrl}/analysis/apis-csv?startDate=${startDate}&endDate=${endDate}`,\n    });\n\n    let dataUrl = \"data:text/csv,\" + response.data\n    let filename = \"api.csv\"\n\n    const link = document.createElement(\"a\");\n    link.href = dataUrl;\n    link.download = filename;\n    link.click();\n  }\n\n  return (\n    <Container\n      maxWidth=\"xl\"\n      style={{ height: \"calc(100vh - 68px)\", paddingTop: \"20px\" }}\n    >\n      <Box style={{ paddingBottom: \"20px\" }}>\n        <Typography variant=\"h4\">Statistics</Typography>\n      </Box>\n      <Box style={{ display: \"flex\", marginBottom: \"20px\" }}>\n        <TextField\n          id=\"date\"\n          label=\"From\"\n          type=\"date\"\n          defaultValue={startDate}\n          sx={{ width: 220 }}\n          InputLabelProps={{\n            shrink: true,\n          }}\n          onChange={(e) => {\n            console.log(e.target.value);\n            setStartDate(e.target.value);\n          }}\n          style={{ paddingRight: \"15px\" }}\n        />\n        <TextField\n          id=\"date\"\n          label=\"To\"\n          type=\"date\"\n          defaultValue={endDate}\n          sx={{ width: 220 }}\n          InputLabelProps={{\n            shrink: true,\n          }}\n          onChange={(e) => setEndDate(e.target.value)}\n          style={{ paddingRight: \"15px\" }}\n        />\n        <LoadingButton\n          loading={loading}\n          variant=\"outlined\"\n          disabled={loading}\n          onClick={filterStats}\n        >\n          Filter Stats\n        </LoadingButton>\n      </Box>\n      <Box sx={{ width: \"100%\", height: \"100%\" }} className=\"tabs-start\">\n        <Box>\n          {/* <Box sx={{ borderBottom: 1, borderColor: \"divider\" }}> */}\n          <Tabs\n            value={value}\n            onChange={handleChange}\n            aria-label=\"basic tabs example\"\n            variant=\"fullWidth\"\n            centered={false}\n          >\n            <Tab\n              label={`Sessions - ${sessionsCount}`}\n              {...a11yProps(0)}\n              style={{\n                textAlign: \"left\",\n                textTransform: \"none\",\n                alignItems: \"flex-start\",\n              }}\n            />\n            <Tab\n              label={`API calls - ${apiCount}`}\n              {...a11yProps(1)}\n              className=\"statistic-tab\"\n              style={{\n                textAlign: \"left\",\n                textTransform: \"none\",\n                alignItems: \"flex-start\",\n              }}\n            />\n            <Tab\n              label={`Issuence - ${issuanceCount}`}\n              {...a11yProps(2)}\n              style={{\n                textAlign: \"left\",\n                textTransform: \"none\",\n                alignItems: \"flex-start\",\n              }}\n            />\n            <Tab\n              label={`Blockchain Transactions - ${transactionCount}`}\n              {...a11yProps(3)}\n              style={{\n                textAlign: \"left\",\n                textTransform: \"none\",\n                alignItems: \"flex-start\",\n              }}\n            />\n          </Tabs>\n        </Box>\n        <TabPanel value={value} index={0}>\n          <Box\n            className=\"tabpanel-box\"\n            style={{ display: \"flex\", justifyContent: \"center\" }}\n          >\n            <LineChart\n              height={500}\n              width={900}\n              data={sessionGraph}\n              margin={{\n                top: 5,\n                right: 30,\n                left: 20,\n                bottom: 5,\n              }}\n            >\n              <CartesianGrid strokeDasharray=\"3 3\" />\n              <XAxis dataKey=\"name\" />\n              <YAxis\n                label={{\n                  value: \"Sessions\",\n                  angle: -90,\n                  position: \"left\",\n                }}\n              />\n              <Line\n                type=\"monotone\"\n                dataKey=\"value\"\n                stroke=\"#8884d8\"\n                activeDot={{ r: 8 }}\n              />\n            </LineChart>\n          </Box>\n        </TabPanel>\n        <TabPanel value={value} index={1}>\n          <Box\n            className=\"tabpanel-box\"\n            style={{ display: \"flex\", justifyContent: \"center\" }}\n          >\n            <LineChart\n              height={500}\n              width={900}\n              data={apisGraph}\n              margin={{\n                top: 5,\n                right: 30,\n                left: 20,\n                bottom: 5,\n              }}\n            >\n              <CartesianGrid strokeDasharray=\"3 3\" />\n              <XAxis dataKey=\"name\" />\n              <YAxis\n                label={{\n                  value: \"Sessions\",\n                  angle: -90,\n                  position: \"left\",\n                }}\n              />\n              <Line\n                type=\"monotone\"\n                dataKey=\"value\"\n                stroke=\"#8884d8\"\n                activeDot={{ r: 8 }}\n              />\n            </LineChart>\n          </Box>\n          <Button onClick={onUploadCsv}>Upload CSV</Button>\n        </TabPanel>\n        <TabPanel value={value} index={2}>\n          <Box\n            className=\"tabpanel-box\"\n            style={{ display: \"flex\", justifyContent: \"center\" }}\n          >\n            <LineChart\n              height={500}\n              width={900}\n              data={issuanceGraph}\n              margin={{\n                top: 5,\n                right: 30,\n                left: 20,\n                bottom: 5,\n              }}\n            >\n              <CartesianGrid strokeDasharray=\"3 3\" />\n              <XAxis dataKey=\"name\" />\n              <YAxis\n                label={{\n                  value: \"Sessions\",\n                  angle: -90,\n                  position: \"left\",\n                }}\n              />\n              <Line\n                type=\"monotone\"\n                dataKey=\"value\"\n                stroke=\"#8884d8\"\n                activeDot={{ r: 8 }}\n              />\n            </LineChart>\n          </Box>\n        </TabPanel>\n        <TabPanel value={value} index={3}>\n          <Box\n            className=\"tabpanel-box\"\n            style={{ display: \"flex\", justifyContent: \"center\" }}\n          >\n            <LineChart\n              height={500}\n              width={900}\n              data={transactionGraph}\n              margin={{\n                top: 5,\n                right: 30,\n                left: 20,\n                bottom: 5,\n              }}\n            >\n              <CartesianGrid strokeDasharray=\"3 3\" />\n              <XAxis dataKey=\"name\" />\n              <YAxis\n                label={{\n                  value: \"Sessions\",\n                  angle: -90,\n                  position: \"left\",\n                }}\n              />\n              <Line\n                type=\"monotone\"\n                dataKey=\"value\"\n                stroke=\"#8884d8\"\n                activeDot={{ r: 8 }}\n              />\n            </LineChart>\n          </Box>\n        </TabPanel>\n      </Box>\n    </Container>\n  );\n}\n"],"names":["TabPanel","props","children","value","index","other","role","hidden","id","style","height","sx","p","a11yProps","disableFocusRipple","StatisticsPage","React","setValue","apiCount","setApiCount","sessionsCount","setSessionsCount","transactionCount","setTransactionCount","issuanceCount","setIssuenceCount","loading","setLoading","sessionGraph","setSessionGraph","apisGraph","setApisGraph","transactionGraph","setTransactionGraph","issuanceGraph","setIssuenceGraph","startDate","Date","setDate","setHours","format","setStartDate","endDate","setEndDate","baseUrl","URL","config","origin","getCounts","http","url","sessionCountResp","data","count","transactionCountResp","issuanceCountResp","apisCountResp","getGraph","convert","converded","y","entries","push","name","x","sessionGraphResp","apiGraphResp","transactionsGraphResp","issuanceGraphResp","filterStats","onUploadCsv","response","dataUrl","link","document","createElement","href","download","click","maxWidth","paddingTop","paddingBottom","variant","display","marginBottom","label","type","defaultValue","width","InputLabelProps","shrink","onChange","e","console","log","target","paddingRight","disabled","onClick","className","event","newValue","centered","textAlign","textTransform","alignItems","justifyContent","margin","top","right","left","bottom","strokeDasharray","dataKey","angle","position","stroke","activeDot","r"],"sourceRoot":""}