dappros/ethora

View on GitHub
client-web/build-prod/static/js/460.bd933ae2.chunk.js.map

Summary

Maintainability
Test Coverage
{"version":3,"file":"static/js/460.bd933ae2.chunk.js","mappings":"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","sources":["components/ExplorerChart.tsx","pages/Explorer/Explorer.tsx","pages/Transactions/Transactions.tsx","../node_modules/@mui/icons-material/ArrowDownward.js","../node_modules/@mui/icons-material/ArrowUpward.js","../node_modules/@mui/material/esm/ListItemText/ListItemText.js"],"sourcesContent":["import { useTheme } from \"@mui/material\";\nimport React from \"react\";\nimport {\n  LineChart,\n  Line,\n  XAxis,\n  YAxis,\n  CartesianGrid,\n  Tooltip,\n  Legend,\n  ResponsiveContainer,\n} from \"recharts\";\nimport { TChartData } from \"../utils\";\n\ninterface ExplorerChartProps {\n  data: TChartData;\n}\n\nexport const ExplorerChart: React.FunctionComponent<ExplorerChartProps> = ({\n  data,\n}) => {\n  const theme = useTheme();\n  return (\n    <ResponsiveContainer height={\"100%\"}>\n      <LineChart\n        width={500}\n        height={300}\n        data={data}\n        margin={{\n          top: 5,\n          right: 30,\n          left: 20,\n          bottom: 5,\n        }}\n      >\n        <CartesianGrid strokeDasharray=\"3 3\" />\n        <XAxis dataKey=\"date\" />\n        <YAxis dataKey={\"y\"} />\n        <Tooltip />\n        <Legend />\n        <Line\n          type=\"monotone\"\n          name=\"Transactions\"\n          dataKey=\"y\"\n          stroke={theme.palette.primary.main}\n          activeDot={{ r: 8 }}\n        />\n      </LineChart>\n    </ResponsiveContainer>\n  );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n  getExplorerBlocks,\n  getExplorerHistory,\n  getTransactions,\n} from \"../../http\";\nimport { useStoreState } from \"../../store\";\nimport { ExplorerChart } from \"../../components/ExplorerChart\";\nimport { format } from \"date-fns\";\nimport {\n  ExplorerRespose,\n  IBlock,\n  ILineChartData,\n  ITransaction,\n} from \"../Profile/types\";\nimport { FullPageSpinner } from \"../../components/FullPageSpinner\";\nimport { ExplorerBlocks } from \"../../components/ExplorerBlocks\";\nimport { Box, styled, Typography } from \"@mui/material\";\nimport { Transactions } from \"../Transactions/Transactions\";\nimport { TChartData, transformDataForLineChart } from \"../../utils\";\n\nconst Container = styled(Box)(({ theme }) => ({\n  width: \"100vw\",\n  padding: 20,\n  display: \"flex\",\n  [theme.breakpoints.down(\"md\")]: {\n    flexDirection: \"column\",\n  },\n}));\n\n\n\n\nexport default function Explorer() {\n  const user = useStoreState((store) => store.user);\n  const [transactions, setTransactions] = useState<\n    ExplorerRespose<ITransaction[]>\n  >({\n    limit: 0,\n    offset: 0,\n    items: [],\n    total: 0,\n  });\n  const [explorerHistory, setExplorerHistory] = useState<TChartData | []>([]);\n  const [loading, setLoading] = useState(false);\n  const [explorerBlocks, setExplorerBlocks] = useState<\n    ExplorerRespose<IBlock[]>\n  >({ limit: 0, offset: 0, items: [], total: 0 });\n\n  const getState = async () => {\n    setLoading(true);\n    try {\n      const { data } = await getTransactions(user.walletAddress);\n      const { data: history } = await getExplorerHistory();\n      const { data: blocks } = await getExplorerBlocks();\n      const transformedHistory = transformDataForLineChart(history);\n      setExplorerHistory(transformedHistory);\n      setTransactions(data);\n      setExplorerBlocks(blocks);\n    } catch (error) {\n      console.log(error);\n    }\n    setLoading(false);\n  };\n  useEffect(() => {\n    getState();\n  }, []);\n\n  if (loading) {\n    return <FullPageSpinner />;\n  }\n  return (\n    <Box>\n      {!!user.token && (\n        <Container>\n          <Box sx={{ height: 300, width: \"100%\" }}>\n            <ExplorerChart data={explorerHistory} />\n          </Box>\n        </Container>\n      )}\n      <Typography variant=\"h6\" sx={{ margin: \"16px\" }}>\n        Transactions\n      </Typography>\n      <Transactions transactions={transactions.items} />\n    </Box>\n  );\n}\n","import {\n  Avatar,\n  Box,\n  Collapse,\n  List,\n  ListItem,\n  ListItemAvatar,\n  ListItemButton,\n  ListItemText,\n  useTheme,\n} from \"@mui/material\";\nimport React, { useState } from \"react\";\nimport { ITransaction } from \"../Profile/types\";\n\nimport coin from \"../../assets/images/coin.png\";\nimport ArrowDownwardIcon from \"@mui/icons-material/ArrowDownward\";\nimport ArrowUpwardIcon from \"@mui/icons-material/ArrowUpward\";\nimport { format } from \"date-fns\";\nimport { useStoreState } from \"../../store\";\nimport { useHistory } from \"react-router\";\n\nexport interface ITransactions {\n  transactions: ITransaction[];\n}\n\nconst TransactionItems: React.FC<{ item: ITransaction }> = ({ item }) => {\n  const theme = useTheme();\n  const walletAddress = useStoreState((state) => state.user.walletAddress);\n  const isSender = item.from === walletAddress;\n  const [expanded, setExpanded] = useState(false);\n  const history = useHistory();\n\n  if (!item.fromFirstName) {\n    return null;\n  }\n\n  return (\n    <>\n      <ListItem key={item.transactionHash}>\n        <ListItemButton onClick={() => setExpanded((prev) => !prev)}>\n          <ListItemAvatar>\n            <Avatar style={{ backgroundColor: theme.palette.primary.main }}>\n              <p>{item.fromFirstName.slice(0, 2).toUpperCase()}</p>\n            </Avatar>\n          </ListItemAvatar>\n          <ListItemText\n            primary={item.fromFirstName + \" \" + item.fromLastName}\n            secondary={format(new Date(item.timestamp), \"pp PP\")}\n          />\n          <Box\n            sx={{\n              display: \"flex\",\n              justifyContent: \"center\",\n              alignItems: \"center\",\n            }}\n          >\n            {isSender ? (\n              <ArrowUpwardIcon fontSize={\"small\"} color={\"error\"} />\n            ) : (\n              <ArrowDownwardIcon color={\"success\"} fontSize={\"small\"} />\n            )}\n            <span>{item.value}</span>\n            <img src={coin} style={{ width: 20, height: 20 }} alt={\"coin\"} />\n          </Box>\n        </ListItemButton>\n      </ListItem>\n\n      <Collapse in={expanded} timeout=\"auto\" unmountOnExit>\n        <List dense>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Block Number:</span>{\" \"}\n            {item.blockNumber}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>From:</span>{\" \"}\n            <span>\n              <span\n                onClick={() => history.push(\"/explorer/address/\" + item.from)}\n                style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\n              >\n                {item.from}\n              </span>\n            </span>\n          </ListItem>{\" \"}\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>To:</span>\n            <span\n              onClick={() => history.push(\"/explorer/address/\" + item.to)}\n              style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\n            >\n              {item.to}\n            </span>\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Sender First Name:</span>\n            {item.fromFirstName}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Sender Last Name:</span>\n            {item.fromLastName}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Timestamp:</span>{\" \"}\n            {format(new Date(item.timestamp), \"pp PP\")}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Receiver First Name:</span>\n            {item.toFirstName}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Receiver Last Name:</span>\n            {item.toLastName}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Token Name:</span>\n            {item.tokenName}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Transaction Index:</span>\n            {item.transactionIndex}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Type:</span>\n            {item.type}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Value:</span>\n            {item.value}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Transaction Hash:</span>\n            <span\n              onClick={() =>\n                history.push(\"/explorer/transactions/\" + item.transactionHash)\n              }\n              style={{ textDecoration: \"underline\", cursor: \"pointer\" }}\n            >\n              {item.transactionHash}\n            </span>\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>Token Id:</span>\n            {item.tokenId}\n          </ListItem>\n          <ListItem disablePadding disableGutters style={{ paddingLeft: 25 }}>\n            <span style={{ fontWeight: \"bold\" }}>_id:</span>\n            {item._id}\n          </ListItem>\n        </List>\n      </Collapse>\n    </>\n  );\n};\n\nexport const Transactions: React.FC<ITransactions> = ({ transactions }) => {\n  const theme = useTheme();\n  const walletAddress = useStoreState((state) => state.user.walletAddress);\n  console.log({ transactions });\n  return (\n    <List sx={{ width: \"100%\", bgcolor: \"background.paper\" }}>\n      {transactions.map((item) => {\n        return <TransactionItems item={item} key={item._id} />;\n      })}\n    </List>\n  );\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n  d: \"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z\"\n}), 'ArrowDownward');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n  d: \"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z\"\n}), 'ArrowUpward');\n\nexports.default = _default;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"children\", \"className\", \"disableTypography\", \"inset\", \"primary\", \"primaryTypographyProps\", \"secondary\", \"secondaryTypographyProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Typography from '../Typography';\nimport ListContext from '../List/ListContext';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n  const {\n    classes,\n    inset,\n    primary,\n    secondary,\n    dense\n  } = ownerState;\n  const slots = {\n    root: ['root', inset && 'inset', dense && 'dense', primary && secondary && 'multiline'],\n    primary: ['primary'],\n    secondary: ['secondary']\n  };\n  return composeClasses(slots, getListItemTextUtilityClass, classes);\n};\nconst ListItemTextRoot = styled('div', {\n  name: 'MuiListItemText',\n  slot: 'Root',\n  overridesResolver: (props, styles) => {\n    const {\n      ownerState\n    } = props;\n    return [{\n      [`& .${listItemTextClasses.primary}`]: styles.primary\n    }, {\n      [`& .${listItemTextClasses.secondary}`]: styles.secondary\n    }, styles.root, ownerState.inset && styles.inset, ownerState.primary && ownerState.secondary && styles.multiline, ownerState.dense && styles.dense];\n  }\n})(({\n  ownerState\n}) => _extends({\n  flex: '1 1 auto',\n  minWidth: 0,\n  marginTop: 4,\n  marginBottom: 4\n}, ownerState.primary && ownerState.secondary && {\n  marginTop: 6,\n  marginBottom: 6\n}, ownerState.inset && {\n  paddingLeft: 56\n}));\nconst ListItemText = /*#__PURE__*/React.forwardRef(function ListItemText(inProps, ref) {\n  const props = useThemeProps({\n    props: inProps,\n    name: 'MuiListItemText'\n  });\n  const {\n      children,\n      className,\n      disableTypography = false,\n      inset = false,\n      primary: primaryProp,\n      primaryTypographyProps,\n      secondary: secondaryProp,\n      secondaryTypographyProps\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  const {\n    dense\n  } = React.useContext(ListContext);\n  let primary = primaryProp != null ? primaryProp : children;\n  let secondary = secondaryProp;\n  const ownerState = _extends({}, props, {\n    disableTypography,\n    inset,\n    primary: !!primary,\n    secondary: !!secondary,\n    dense\n  });\n  const classes = useUtilityClasses(ownerState);\n  if (primary != null && primary.type !== Typography && !disableTypography) {\n    primary = /*#__PURE__*/_jsx(Typography, _extends({\n      variant: dense ? 'body2' : 'body1',\n      className: classes.primary,\n      component: primaryTypographyProps != null && primaryTypographyProps.variant ? undefined : 'span',\n      display: \"block\"\n    }, primaryTypographyProps, {\n      children: primary\n    }));\n  }\n  if (secondary != null && secondary.type !== Typography && !disableTypography) {\n    secondary = /*#__PURE__*/_jsx(Typography, _extends({\n      variant: \"body2\",\n      className: classes.secondary,\n      color: \"text.secondary\",\n      display: \"block\"\n    }, secondaryTypographyProps, {\n      children: secondary\n    }));\n  }\n  return /*#__PURE__*/_jsxs(ListItemTextRoot, _extends({\n    className: clsx(classes.root, className),\n    ownerState: ownerState,\n    ref: ref\n  }, other, {\n    children: [primary, secondary]\n  }));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItemText.propTypes /* remove-proptypes */ = {\n  // ----------------------------- Warning --------------------------------\n  // | These PropTypes are generated from the TypeScript type definitions |\n  // |     To update them edit the d.ts file and run \"yarn proptypes\"     |\n  // ----------------------------------------------------------------------\n  /**\n   * Alias for the `primary` prop.\n   */\n  children: PropTypes.node,\n  /**\n   * Override or extend the styles applied to the component.\n   */\n  classes: PropTypes.object,\n  /**\n   * @ignore\n   */\n  className: PropTypes.string,\n  /**\n   * If `true`, the children won't be wrapped by a Typography component.\n   * This can be useful to render an alternative Typography variant by wrapping\n   * the `children` (or `primary`) text, and optional `secondary` text\n   * with the Typography component.\n   * @default false\n   */\n  disableTypography: PropTypes.bool,\n  /**\n   * If `true`, the children are indented.\n   * This should be used if there is no left avatar or left icon.\n   * @default false\n   */\n  inset: PropTypes.bool,\n  /**\n   * The main content element.\n   */\n  primary: PropTypes.node,\n  /**\n   * These props will be forwarded to the primary typography component\n   * (as long as disableTypography is not `true`).\n   */\n  primaryTypographyProps: PropTypes.object,\n  /**\n   * The secondary content element.\n   */\n  secondary: PropTypes.node,\n  /**\n   * These props will be forwarded to the secondary typography component\n   * (as long as disableTypography is not `true`).\n   */\n  secondaryTypographyProps: PropTypes.object,\n  /**\n   * The system prop that allows defining system overrides as well as additional CSS styles.\n   */\n  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListItemText;"],"names":["ExplorerChart","data","theme","useTheme","ResponsiveContainer","height","LineChart","width","margin","top","right","left","bottom","CartesianGrid","strokeDasharray","XAxis","dataKey","YAxis","Tooltip","Legend","Line","type","name","stroke","palette","primary","main","activeDot","r","Container","styled","Box","padding","display","breakpoints","down","flexDirection","Explorer","user","useStoreState","store","useState","limit","offset","items","total","transactions","setTransactions","explorerHistory","setExplorerHistory","loading","setLoading","setExplorerBlocks","getState","getTransactions","walletAddress","getExplorerHistory","history","getExplorerBlocks","blocks","transformedHistory","transformDataForLineChart","console","log","useEffect","FullPageSpinner","token","sx","Typography","variant","Transactions","TransactionItems","item","state","isSender","from","expanded","setExpanded","useHistory","fromFirstName","onClick","prev","style","backgroundColor","slice","toUpperCase","fromLastName","secondary","format","Date","timestamp","justifyContent","alignItems","fontSize","color","value","src","coin","alt","transactionHash","in","timeout","unmountOnExit","dense","disablePadding","disableGutters","paddingLeft","fontWeight","blockNumber","push","textDecoration","cursor","to","toFirstName","toLastName","tokenName","transactionIndex","tokenId","_id","bgcolor","map","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_excluded","ListItemTextRoot","slot","overridesResolver","props","styles","ownerState","listItemTextClasses","root","inset","multiline","_extends","flex","minWidth","marginTop","marginBottom","ListItemText","React","inProps","ref","useThemeProps","children","className","disableTypography","primaryProp","primaryTypographyProps","secondaryProp","secondaryTypographyProps","other","_objectWithoutPropertiesLoose","ListContext","classes","slots","composeClasses","getListItemTextUtilityClass","useUtilityClasses","_jsx","component","undefined","_jsxs","clsx"],"sourceRoot":""}