import React, { Component } from 'react';
import axios from 'axios';
import CollectDataView from './CollectDataView';
import IceContainer from '@icedesign/container';
import { apiList, getNavLinks, getUrlParam } from '../utils';

export default class CollectDataContainer extends Component {
  state = {
    loading: false,
    error: null,
    data: {},
  };

  constructor(props) {
    super(props);
    const type = getUrlParam('type') || 'ice';
    this.baseComponent = type === 'all' ? '' : type;
  }

  componentWillMount() {
    window.removeLoading && window.removeLoading();
  }

  componentDidMount() {
    this.fetchData();
  }

  fetchData = () => {
    this.setState({
      loading: true,
      error: null,
    });

    axios
      .get(apiList.getStastistic, {
        params: {
          baseComponent: this.baseComponent,
        },
      })
      .then((response) => {
        const { data } = response;
        this.setState({
          loading: false,
          data: data.data,
        });
      })
      .catch((err) => {
        console.warn('req err', err);
        this.setState({
          loading: false,
        });
      });
  };

  render() {
    return (
      <IceContainer style={{ padding: '25px 20px' }}>
        <CollectDataView {...this.state} />
      </IceContainer>
    );
  }
}
