import React, { Component, PropTypes } from 'react';
import { FinancialAidAwards } from 'catalyst-ui';

const { func, object } = PropTypes;

export default class FinancialAidProv extends Component {
  constructor() {
    super(...arguments);
    this.fetchAidYear = this.fetchAidYear.bind(this);
  }

  componentDidMount() {
    const requestParams = {
      url: __FINANCIAL_AID_URL__,
      auth: [__USERNAME__, __PASSWORD__],
    };

    this.props.fetch(requestParams, '');
  }

  fetchAidYear(aidYear = '') {
    const requestParams = {
      url: __FINANCIAL_AID_URL__,
      auth: [__USERNAME__, __PASSWORD__],
    };
    this.props.fetch(requestParams, aidYear);
  }

  render() {
    const { financialAid, invalidate } = this.props;
    let financialAidAwards = '';

    if (financialAid.data) {
      financialAidAwards = <FinancialAidAwards data={financialAid.data} isFetching={financialAid.isFetching} fetch={this.fetchAidYear} invalidate={invalidate} acceptDenyUrl={__ACCEPTDENY_URL__}/>;
    }

    return (
      <div className="piglet">
        {financialAidAwards}
      </div>
    );
  }

}

FinancialAidProv.propTypes = {
  financialAid: object,
  fetch: func.isRequired,
  invalidate: func.isRequired,
};
