Subtitle.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import * as React from "react";
  2. import { makeStyles } from "@material-ui/styles";
  3. import { upperFirst } from "lodash";
  4. import Breadcrumbs from "@material-ui/core/Breadcrumbs";
  5. import NavigateNextIcon from "@material-ui/icons/NavigateNext";
  6. import Typography from "@material-ui/core/Typography";
  7. import { toVerboseTimeRange } from "../util";
  8. const useStyles = makeStyles({
  9. root: {
  10. "& > * + *": {
  11. marginTop: 2,
  12. },
  13. },
  14. link: {
  15. cursor: "pointer",
  16. },
  17. });
  18. const Subtitle = ({ report, onClick }) => {
  19. const classes = useStyles();
  20. const { aggregateBy, window } = report;
  21. return (
  22. <div className={classes.root}>
  23. <Breadcrumbs
  24. separator={<NavigateNextIcon fontSize="small" />}
  25. aria-label="breadcrumb"
  26. onClick={onClick}
  27. >
  28. {aggregateBy && aggregateBy.length > 0 ? (
  29. <Typography>
  30. {toVerboseTimeRange(window)} by {upperFirst(aggregateBy)}
  31. </Typography>
  32. ) : (
  33. <Typography>{toVerboseTimeRange(window)}</Typography>
  34. )}
  35. </Breadcrumbs>
  36. </div>
  37. );
  38. };
  39. export default React.memo(Subtitle);