import React from 'react';
import './index.less';
import Page from '@src/containers/Page';
import { formatDate, formatSeconds, formatPercent } from '@src/services/Tools';
import Icon from '../../../components/Icon';
import { My } from '../../../stores/my';

export default class extends Page {
  init() { }

  initData() {
    My.getStudyTotal().then(total => {
      this.setState({ total });
    });
    My.getStudyWeek(0).then(latest => {
      const diff = latest.time - latest.avgTime;
      const diffPercent = diff > 0 ? formatPercent(latest.time - latest.avgTime, latest.avgTime, true) : formatPercent(latest.avgTime - latest.time, latest.avgTime, true);
      this.setState({ latest, diff, diffPercent });
      My.getStudyWeek(1).then(last => {
        const diffLast = latest.time - last.time;
        const diffLastPercent = diffLast > 0 ? formatPercent(latest.time - last.time, last.time, true) : formatPercent(last.time - latest.time, last.time, true);
        this.setState({ last, diffLast, diffLastPercent });
      });
    });
  }

  renderView() {
    const { total, latest = {}, diff = 0, diffPercent = 0, diffLast = 0, diffLastPercent = 0 } = this.state;
    return (
      <div>
        <div className="block">
          <div className="text">
            自{total.createTime && formatDate(total.createTime, 'YYYY-MM-DD')},您已在千行学习<span>{total.days}</span>天
          </div>
          <div className="text">
            累积<span dangerouslySetInnerHTML={{ __html: formatSeconds(total.time).replace(/([0-9]+)(m|min|h|hour|s)/g, '<span class="s">$1</span>$2') }} />
          </div>
        </div>
        <div className="title">本周数据</div>
        <div className="t-c">
          <div className="item">
            <div className="text">学习时间</div>
            <div className="value" dangerouslySetInnerHTML={{ __html: formatSeconds(latest.time).replace(/([0-9]+)(m|min|h|hour|s)/g, '<span>$1</span>$2') }} />
          </div>
          <div className="item">
            <div className="text">同比上周</div>
            <div className="value">
              {diffLast > 0 ? <Icon type="caret-up" theme="filled" color="#6EC64B" /> : <Icon type="caret-down" theme="filled" color="#F36565" />}
              <span>{diffLastPercent}</span>%
            </div>
          </div>
          <div className="item">
            <div className="text">同比全站</div>
            <div className="value">
              {diff > 0 ? <Icon type="caret-up" theme="filled" color="#6EC64B" /> : <Icon type="caret-down" theme="filled" color="#F36565" />}
              <span>{diffPercent}</span>%
            </div>
          </div>
        </div>
      </div>
    );
  }
}