<commit_before>import React, { PropTypes } from 'react';
import { List } from 'immutable';
import ImmutableTypes from 'react-immutable-proptypes';


/* eslint-disable max-len */
const LawIndexLead = ({
  total,
  collection,
  // initial,
  // filters: { groupkey, title, starred },
  page,
  pageSize,
}) => (
  <p>
    {!collection.size ? null :
      <span>Die Gesetzsammlung <strong>{collection.get('title')}</strong> beinhaltet insgesamt {collection.get('laws', List()).size} Gesetze und Verordnungen.&nbsp;</span>
    }
    <span>
      Durch den aktuellen Filter werden {total} von diesen angezeigt. Du befindest dich aktuell auf <strong>Seite {page} von {Math.ceil(total / pageSize)}</strong>.
    </span>
  {/* <p>
    {total === 0
      ? <span>In der Datenbank findet sich insgesamt <strong>ein Gesetz oder eine Verordnung</strong>, welche/s mit dem aktuellen Filter übereinstimmt:&nbsp;</span>
      : <span>In der Datenbank finden sich insgesamt <strong>{total} Gesetze und Verodnungen</strong>, die mit dem aktuellen Filter übereinstimmen:&nbsp;</span>
    }
    Ihr Kürzel beginnt mit dem <strong>Anfangsbuchstaben {initial.toUpperCase()}</strong>
    {groupkey
      ? title
        ? starred
          ? <span>&nbsp;und beinhaltet <strong>{groupkey}</strong>. Außerdem ist <strong>{title}</strong> Teil ihrer Beschreibung und sie wurden von dir <strong>markiert</strong></span>
          : <span>&nbsp;und beinhaltet <strong>{groupkey}</strong>. Außerdem ist <strong>{title}</strong> Teil ihrer Bezeichnung</span>
        : starred
          ? <span>, stimmt mit <strong>{groupkey}</strong> überein und sie wurden von dir <strong>markiert</strong></span>
          : <span>&nbsp;und stimmt mit <strong>{groupkey} </strong>überein</span>
      : title
        ? starred
          ? <span>wurden von dir <strong>markiert</strong> und ihre Bezeichnung beinhaltet <strong>{title}</strong>.</span>
          : <span>&nbsp;und ihre Bezeichnung beinhaltet <strong>{title}</strong></span>
        : !starred ? '' :
          <span>&nbsp;und wurden von dir <strong>markiert</strong></span>
    }.&nbsp;
    Aktuell wird <strong>Seite {page} von {Math.ceil(total/pageSize)}</strong> angezeigt.
  </p> */}
  </p>
);

LawIndexLead.propTypes = {
  collection: ImmutableTypes.mapContains({
    title: PropTypes.string,
    laws: ImmutableTypes.list,
  }).isRequired,
  filters: ImmutableTypes.map,
  initial: PropTypes.string.isRequired,
  page: PropTypes.number.isRequired,
  pageSize: PropTypes.number.isRequired,
  total: PropTypes.number.isRequired,
};


export default LawIndexLead;<commit_msg>Overhaul law index lead text.<commit_after>import React, { PropTypes } from 'react';
import ImmutableTypes from 'react-immutable-proptypes';


const propTypes = {
  collection: ImmutableTypes.mapContains({
    title: PropTypes.string,
    laws: ImmutableTypes.list,
  }).isRequired,
  filters: ImmutableTypes.map,
  initial: PropTypes.string.isRequired,
  page: PropTypes.number.isRequired,
  pageSize: PropTypes.number.isRequired,
  total: PropTypes.number.isRequired,
};


/* eslint-disable max-len, no-nested-ternary */
const LawIndexLead = ({
  total,
  collection,
  initial: rawInitial,
  filters,
  page,
  pageSize,
}) => {
  const { groupkey, title, starred } = filters.toObject();
  const initial = rawInitial.toUpperCase();
  return (
    <p>
      {collection.has('title') ?
        <span>
          Die Gesetzsammlung <strong>{collection.get('title')}</strong> beinhaltet insgesamt {collection.get('laws').size} Gesetze und Verordnungen.
          {!initial && !groupkey && !title && !starred ? null :
            <span>Durch den aktuellen Filter werden {total} von diesen angezeigt.</span>
          }
        </span> :
        total < 2 ? null :
          <span>In der Datenbank finden sich insgesamt <strong>{total} Gesetze und Verodnungen</strong>, die mit dem aktuellen Filter übereinstimmen:&nbsp;</span>
      }
      {initial
        ? (groupkey
          ? (title
            ? (starred
              ? <span>Sie wurden von dir <strong>markiert</strong>, verfügen über die <strong>Bezeichnung <em>{title}</em></strong> und die <strong>Kennung <em>{groupkey}</em></strong> mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
              : <span>Sie verfügen über die <strong>Bezeichnung <em>{title}</em></strong> und die <strong>Kennung <em>{groupkey}</em></strong> mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
            ) : (starred // no title
              ? <span>Sie wurden von dir <strong>markiert</strong> und verfügen über die <strong>Kennung <em>{groupkey}</em></strong> mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
              : <span>Sie verfügen über die <strong>Kennung <em>{groupkey}</em></strong> mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
            )
          ) : (title // no groupkey
            ? (starred
              ? <span>Sie wurden von dir <strong>markiert</strong>, sie beinhalten in ihrer <strong>Bezeichnung <em>{title}</em></strong> und ihr Kürzel beginnt mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong></span>
              : <span>Sie beinhalten in ihrer <strong>Bezeichnung <em>{title}</em></strong> und ihr Kürzel beginnt mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
            ) : (!starred ? '' : // no title
              <span>Sie wurden von dir <strong>markiert</strong> und ihr Kürzel beginnt mit dem <strong>Anfangsbuchstaben <em>{initial}</em></strong>.</span>
            )
          )
        ) : (groupkey // no initial
          ? (title
            ? (starred
              ? <span>Sie wurden von dir <strong>markiert</strong>, verfügen über die <strong>Bezeichnung <em>{title}</em></strong> und die <strong>Kennung <em>{groupkey}</em></strong>.</span>
              : <span>Sie verfügen über die <strong>Bezeichnung <em>{title}</em></strong> und die <strong>Kennung <em>{groupkey}</em></strong>.</span>
            ) : (starred // no title
              ? <span>Sie wurden von dir <strong>markiert</strong> und verfügen über die <strong>Kennung <em>{groupkey}</em></strong>.</span>
              : <span>Sie verfügen über die <strong>Kennung <em>{groupkey}</em></strong>.</span>
            )
          ) : (title // no groupkey
            ? (starred
              ? <span>Sie wurden von dir <strong>markiert</strong> und beinhalten in ihrer <strong>Bezeichnung <em>{title}</em></strong>.</span>
              : <span>Sie beinhalten in ihrer <strong>Bezeichnung <em>{title}</em></strong>.</span>
            ) : (starred // no title
              ? <span>Sie wurden von dir <strong>markiert</strong>.</span>
              : null
            )
          )
        )
      }
      <span>Aktuell wird <strong>Seite {page} von {Math.ceil(total / pageSize)}</strong> angezeigt.</span>
    </p>
  );
};

LawIndexLead.propTypes = propTypes;


export default LawIndexLead;
{'fraction_non_alphanumeric': 0.1505730659025788, 'fraction_numerical': 0.00028653295128939826, 'mean_word_length': 3.16527446300716, 'pattern_counts': {'":': 0, '<': 218, '<?xml version=': 0, '>': 219, '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': '1866617', 'n_tokens_mistral': 2178, 'n_tokens_neox': 2249, 'n_words': 508}