<commit_before>import React, { cloneElement, PropTypes } from 'react';
import { contain } from 'thundercats-react';
import { History } from 'react-router';
import { Button, Panel, Row } from 'react-bootstrap';

import CreateJobModal from './CreateJobModal.jsx';
import ListJobs from './List.jsx';

export default contain(
  {
    store: 'jobsStore',
    fetchAction: 'jobActions.getJobs',
    actions: 'jobActions'
  },
  React.createClass({
    displayName: 'Jobs',

    mixins: [History],

    propTypes: {
      children: PropTypes.element,
      jobActions: PropTypes.object,
      jobs: PropTypes.array,
      showModal: PropTypes.bool
    },

    handleJobClick(id) {
      const { jobActions } = this.props;
      if (!id) {
        return null;
      }
      jobActions.findJob(id);
      this.history.pushState(null, `/jobs/${id}`);
    },

    renderList(handleJobClick, jobs) {
      return (
        <ListJobs
          handleClick={ handleJobClick }
          jobs={ jobs }/>
      );
    },

    renderChild(child, jobs) {
      if (!child) {
        return null;
      }
      return cloneElement(
        child,
        { jobs }
      );
    },

    render() {
      const {
        children,
        jobs,
        showModal,
        jobActions
      } = this.props;

      return (
        <Panel>
          <h1>Free Code Camps' Job Board</h1>
          <Row>
            <p>
              Need to find the best junior developers?
              Want to find dedicated developers eager to join your company?
              Sign up now to post your job!
            </p>
            <Button
              bsSize='large'
              className='signup-btn'
              onClick={ jobActions.openModal }>
              Post a job: $200 for 60 days.
            </Button>
          </Row>
          <Row>
          { this.renderChild(children, jobs) ||
            this.renderList(this.handleJobClick, jobs) }
          </Row>
          <CreateJobModal
            onHide={ jobActions.closeModal }
            showModal={ showModal } />
        </Panel>
      );
    }
  })
);<commit_msg>Add styling to jobs list<commit_after>import React, { cloneElement, PropTypes } from 'react';
import { contain } from 'thundercats-react';
import { History } from 'react-router';
import { Button, Panel, Row, Col } from 'react-bootstrap';

import CreateJobModal from './CreateJobModal.jsx';
import ListJobs from './List.jsx';

export default contain(
  {
    store: 'jobsStore',
    fetchAction: 'jobActions.getJobs',
    actions: 'jobActions'
  },
  React.createClass({
    displayName: 'Jobs',

    mixins: [History],

    propTypes: {
      children: PropTypes.element,
      jobActions: PropTypes.object,
      jobs: PropTypes.array,
      showModal: PropTypes.bool
    },

    handleJobClick(id) {
      const { jobActions } = this.props;
      if (!id) {
        return null;
      }
      jobActions.findJob(id);
      this.history.pushState(null, `/jobs/${id}`);
    },

    renderList(handleJobClick, jobs) {
      return (
        <ListJobs
          handleClick={ handleJobClick }
          jobs={ jobs }/>
      );
    },

    renderChild(child, jobs) {
      if (!child) {
        return null;
      }
      return cloneElement(
        child,
        { jobs }
      );
    },

    render() {
      const {
        children,
        jobs,
        showModal,
        jobActions
      } = this.props;

      return (
        <Panel>
          <Row>
            <Col
              md={ 10 }
              mdOffset= { 1 }
              xs={ 12 }>
              <h1 className='text-center'>Free Code Camps' Job Board</h1>
              <Row>
                <Col
                  xs={ 10 }
                  xsOffset={ 1 }>
                  <p>
                    Need to find the best junior developers?
                    Post your job today!
                  </p>
                  <Button
                    block={ true }
                    bsSize='large'
                    className='signup-btn'
                    onClick={ jobActions.openModal }>
                    Post a job: $200 for 60 days.
                  </Button>
                  <div className='spacer' />
                </Col>
              </Row>
              <Row>
              { this.renderChild(children, jobs) ||
                this.renderList(this.handleJobClick, jobs) }
              </Row>
              <CreateJobModal
                onHide={ jobActions.closeModal }
                showModal={ showModal } />
            </Col>
          </Row>
        </Panel>
      );
    }
  })
);
{'fraction_non_alphanumeric': 0.11522544108037465, 'fraction_numerical': 0.004791984317142235, 'mean_word_length': 1.4569288389513109, 'pattern_counts': {'":': 0, '<': 38, '<?xml version=': 0, '>': 38, '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': '1549095', 'n_tokens_mistral': 1322, 'n_tokens_neox': 1278, 'n_words': 307}