import React from 'react';
import PropTypes from 'prop-types';
import api from 'mastodon/api';
import { FormattedNumber } from 'react-intl';
import { Sparklines, SparklinesCurve } from 'react-sparklines';
import classNames from 'classnames';
import Skeleton from 'mastodon/components/skeleton';
const percIncrease = (a, b) => {
  let percent;
  if (b !== 0) {
    if (a !== 0) {
      percent = (b - a) / a;
    } else {
      percent = 1;
    }
  } else if (b === 0 && a === 0) {
    percent = 0;
  } else {
    percent = - 1;
  }
  return percent;
};
export default class Counter extends React.PureComponent {
  static propTypes = {
    measure: PropTypes.string.isRequired,
    start_at: PropTypes.string.isRequired,
    end_at: PropTypes.string.isRequired,
    label: PropTypes.string.isRequired,
    href: PropTypes.string,
    params: PropTypes.object,
  };
  state = {
    loading: true,
    data: null,
  };
  componentDidMount () {
    const { measure, start_at, end_at, params } = this.props;
    api().post('/api/v1/admin/measures', { keys: [measure], start_at, end_at, [measure]: params }).then(res => {
      this.setState({
        loading: false,
        data: res.data,
      });
    }).catch(err => {
      console.error(err);
    });
  }
  render () {
    const { label, href } = this.props;
    const { loading, data } = this.state;
    let content;
    if (loading) {
      content = (