<commit_before>import React, { Component } from 'react'
import axios from 'axios'
import Links from '../links/Links'
import Video from '../video/Video'
import Tabs from 'react-responsive-tabs'
import 'react-responsive-tabs/styles.css'
import './ContentPageContainer.css'

class ContentPageContainer extends Component {
  constructor(props) {
    super(props)
    this.state = {
      data: this.getData()
    }
    this.getTabs = this.getTabs.bind(this)
  }
  
  getData() {
    // get data from JSON
    axios.get(this.props.filePath)
      .then(res => {
        this.setState({
          data: res.data
        })
      })
  }
  
  getTabs() {
    var lang = this.props.lang
    var data = this.state.data.tab
    return data.map(item => ({
      tabClassName: 'tab',
      panelClassName: 'panel',
      title: item.title[lang],
      getContent: () => {
        return (
          <div>
            <div className='tabContent' dangerouslySetInnerHTML={{__html: item.text[lang]}} />
            {item.video && <div><br/><Video url={item.video} /></div>}
            <div className='tabLinks'>
              {item.links && <div><br/><Links links={item.links} /></div>}
            </div>
          </div>
        )
      },
    }));
  }

  render() {
    var lang = this.props.lang
    var data = this.state.data
    return (
      <div className={`wrapper ${lang === 'ar' && 'right-align'}`}>
        <h1 className="content-page-title">{data && data.title[lang]}</h1>
        {data && <div className='summary' dangerouslySetInnerHTML={{__html: data.summary[lang]}} />}
        {data && data.topLevelVideo && <Video url={data.topLevelVideo} />}
        {data && data.tab && <div><br/><Tabs items={this.getTabs()} /></div>}
        {data && data.notes && <div className='notes' dangerouslySetInnerHTML={{__html: data.notes[lang]}} />}
      </div>
    )
  }
}
<commit_msg>removed extra spacing as covered by <p> tags in content<commit_after>import React, { Component } from 'react'
import axios from 'axios'
import Links from '../links/Links'
import Video from '../video/Video'
import Tabs from 'react-responsive-tabs'
import 'react-responsive-tabs/styles.css'
import './ContentPageContainer.css'

class ContentPageContainer extends Component {
  constructor(props) {
    super(props)
    this.state = {
      data: this.getData()
    }
    this.getTabs = this.getTabs.bind(this)
  }
  
  getData() {
    // get data from JSON
    axios.get(this.props.filePath)
      .then(res => {
        this.setState({
          data: res.data
        })
      })
  }
  
  getTabs() {
    var lang = this.props.lang
    var data = this.state.data.tab
    return data.map(item => ({
      tabClassName: 'tab',
      panelClassName: 'panel',
      title: item.title[lang],
      getContent: () => {
        return (
          <div>
            <div className='tabContent' dangerouslySetInnerHTML={{__html: item.text[lang]}} />
            {item.video && <Video url={item.video} />}
            <div className='tabLinks'>
              {item.links && <Links links={item.links} />}
            </div>
          </div>
        )
      },
    }));
  }

  render() {
    var lang = this.props.lang
    var data = this.state.data
    return (
      <div className={`wrapper ${lang === 'ar' && 'right-align'}`}>
        <h1 className="content-page-title">{data && data.title[lang]}</h1>
        {data && <div className='summary' dangerouslySetInnerHTML={{__html: data.summary[lang]}} />}
        {data && data.topLevelVideo && <Video url={data.topLevelVideo} />}
        {data && data.tab && <Tabs items={this.getTabs()} />}
        {data && data.notes && <div className='notes' dangerouslySetInnerHTML={{__html: data.notes[lang]}} />}
      </div>
    )
  }
}

{'fraction_non_alphanumeric': 0.16889363976483165, 'fraction_numerical': 0.0010689470871191875, 'mean_word_length': 2.4089253187613844, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 49, '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': '4152439', 'n_tokens_mistral': 1189, 'n_tokens_neox': 1191, 'n_words': 240}