<commit_before>import Col from 'react-bootstrap/lib/Col';
import FontAwesome from 'react-fontawesome';
import Markdown from 'react-markdown';
import React, { PropTypes } from 'react';
import Row from 'react-bootstrap/lib/Row';

import Gallery from './gallery';
import LectorSummary from './lectorSummary';
import PermaLink from './permaLink';

const WorkshopDetail = ({ id, desc, difficulty, name, lectors, photos }) => (
  <div>
    <h1>
      <PermaLink id={id} title={name} to="workshops:item">{name}</PermaLink>
    </h1>

    <ul className="list-unstyled">
      {difficulty ?
        <li>
          <FontAwesome name="hand-rock-o" /> {difficulty}
        </li> : null
      }
    </ul>
    <div>
      <Markdown source={desc} />
    </div>
    <Gallery photos={photos} />
    <Row>
      {lectors.map(lectorPosition => (
        <Col key={lectorPosition.id} md={6}>
          <LectorSummary
            name={lectorPosition.lector.name}
            about={lectorPosition.lector.about}
            photos={lectorPosition.lector.photos}
            position={lectorPosition.role}
          />
        </Col>
      ))}
    </Row>
  </div>
);

WorkshopDetail.propTypes = {
  id: PropTypes.number.isRequired,
  desc: PropTypes.string.isRequired,
  difficulty: PropTypes.string.isRequired,
  name: PropTypes.string.isRequired,
  photos: PropTypes.arrayOf(PropTypes.object).isRequired,
  lectors: PropTypes.arrayOf(PropTypes.shape({
    lector: PropTypes.shape({
      name: PropTypes.string,
      about: PropTypes.string,
      photos: PropTypes.arrayOf(PropTypes.object).isRequired,
    }),
    role: PropTypes.string,
  })).isRequired,
};

export default WorkshopDetail;<commit_msg>Show workshop price<commit_after>import Col from 'react-bootstrap/lib/Col';
import FontAwesome from 'react-fontawesome';
import Markdown from 'react-markdown';
import React, { PropTypes } from 'react';
import Row from 'react-bootstrap/lib/Row';

import Gallery from './gallery';
import HumanDate from './humanDate';
import LectorSummary from './lectorSummary';
import PermaLink from './permaLink';
import Price from './price';

const WorkshopDetail = ({ id, desc, difficulty, name, lectors, photos, prices }) => (
  <div>
    <h1>
      <PermaLink id={id} title={name} to="workshops:item">{name}</PermaLink>
    </h1>

    <ul className="list-unstyled">
      {difficulty ?
        <li>
          <FontAwesome name="hand-rock-o" /> {difficulty}
        </li> : null
      }
      <li>
        <FontAwesome name="money" /> Cena:
        <ul>
          {prices.map(price => (
            <li key={price.name}>
              <HumanDate date={price.takesEffectOn} />
              {' - '}
              <HumanDate date={price.endsOn} />:
              {' '}
              <Price price={price.price} />
            </li>
          ))}
        </ul>
      </li>
    </ul>
    <div>
      <Markdown source={desc} />
    </div>
    <Gallery photos={photos} />
    <Row>
      {lectors.map(lectorPosition => (
        <Col key={lectorPosition.id} md={6}>
          <LectorSummary
            name={lectorPosition.lector.name}
            about={lectorPosition.lector.about}
            photos={lectorPosition.lector.photos}
            position={lectorPosition.role}
          />
        </Col>
      ))}
    </Row>
  </div>
);

WorkshopDetail.propTypes = {
  id: PropTypes.number.isRequired,
  desc: PropTypes.string.isRequired,
  difficulty: PropTypes.string.isRequired,
  name: PropTypes.string.isRequired,
  photos: PropTypes.arrayOf(PropTypes.object).isRequired,
  prices: PropTypes.arrayOf(PropTypes.shape({
    endsOn: PropTypes.number,
    price: PropTypes.number.isRequired,
    takesEffectOn: PropTypes.string.isRequired,
  })).isRequired,
  lectors: PropTypes.arrayOf(PropTypes.shape({
    lector: PropTypes.shape({
      name: PropTypes.string,
      about: PropTypes.string,
      photos: PropTypes.arrayOf(PropTypes.object).isRequired,
    }),
    role: PropTypes.string,
  })).isRequired,
};

export default WorkshopDetail;
{'fraction_non_alphanumeric': 0.14524165421026408, 'fraction_numerical': 0.0014947683109118087, 'mean_word_length': 2.7141535615171137, 'pattern_counts': {'":': 0, '<': 53, '<?xml version=': 0, '>': 58, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2122729', 'n_tokens_mistral': 1234, 'n_tokens_neox': 1258, 'n_words': 244}