render()

in src/content/components/ReleaseReport/ReleaseReport.js [89:143]


  render() {
    const release = this.props.release;
    const allMilestones = new Milestones(this.context.iterations);
    const releaseMilestones = allMilestones.getReleaseMilestones(release);

    const nextURL = this.props.matchUrl.replace(
      /\/\d+/,
      "/" + Milestones.getNextRelease(release).toString() + "/dates"
    );

    const prevURL = this.props.matchUrl.replace(
      /\/\d+/,
      "/" + Milestones.getPrevRelease(release).toString() + "/dates"
    );

    return (
      <div>
        <div className={styles.summary}>
          <p>
            These are projected dates for the major milestones in Firefox{" "}
            {release}.
          </p>
        </div>
        <span className={styles.prevUrlButton}>
          <Link to={prevURL}>&lt;&lt; Previous Release</Link>
        </span>
        <span className={styles.nextUrlButton}>
          <Link to={nextURL}>Next Release &gt;&gt;</Link>
        </span>
        <div className={styles.table}>
          <table>
            <tbody>
              <tr>
                <th>Milestone</th>
                <th>Date</th>
              </tr>
              {releaseMilestones.map(milestone => {
                const date = milestone.calculate();
                return date ? (
                  <tr key={milestone.label}>
                    <td>
                      <strong>{milestone.label}</strong>
                    </td>
                    <td>
                      <time>{date.toLocaleString(DateTime.DATE_HUGE)}</time>
                    </td>
                  </tr>
                ) : null;
              })}
            </tbody>
          </table>
        </div>
      </div>
    );
  }