<commit_before>###
project page react component
###
{IS_MOBILE} = require('./feature')

# 3rd party Libraries
{Button, Nav, NavItem, NavDropdown, MenuItem, Alert, Col, Row} = require('react-bootstrap')
{SortableContainer, SortableElement} = require('react-sortable-hoc')

# SMC Libraries
{React, ReactDOM, rclass, redux, rtypes, Redux} = require('./smc-react')
{ProjectFiles}    = require('./project_files')
{ProjectNew}      = require('./project_new')
{ProjectLog}      = require('./project_log')
{ProjectSearch}   = require('./project_search')
{ProjectSettings} = require('./project_settings')
project_file = require('./project_file')
{file_associations} = require('./editor')
{ProjectStore} = require('./project_store')
{Icon, Tip, SAGE_LOGO_COLOR} = require('./r_misc')
misc = require('misc')

FILE_NAV_HEIGHT = '36px'

default_file_tab_styles =
    width : 250
    borderRadius : "5px 5px 0px 0px"
    flexShrink : '1'
    overflow : 'hidden'

FileTab = rclass
    displayName : 'FileTab'

    propTypes :
        name               : rtypes.string
        label              : rtypes.string    # rendered tab title
        icon               : rtypes.string    # Affiliated icon
        project_id         : rtypes.string
        tooltip            : rtypes.string
        is_active          : rtypes.bool
        file_tab           : rtypes.bool      # Whether or not this tab holds a file
        shrink             : rtypes.bool      # Whether or not to shrink to just the icon
        has_activity       : rtypes.bool      # Whether or not some activity is happening with the file
<commit_msg>hotfix: Loading not defined -- saw this in production<commit_after>###
project page react component
###
{IS_MOBILE} = require('./feature')

# 3rd party Libraries
{Button, Nav, NavItem, NavDropdown, MenuItem, Alert, Col, Row} = require('react-bootstrap')
{SortableContainer, SortableElement} = require('react-sortable-hoc')

# SMC Libraries
{React, ReactDOM, rclass, redux, rtypes, Redux} = require('./smc-react')
{ProjectFiles}    = require('./project_files')
{ProjectNew}      = require('./project_new')
{ProjectLog}      = require('./project_log')
{ProjectSearch}   = require('./project_search')
{ProjectSettings} = require('./project_settings')
project_file = require('./project_file')
{file_associations} = require('./editor')
{ProjectStore} = require('./project_store')
{Icon, Tip, SAGE_LOGO_COLOR, Loading} = require('./r_misc')
misc = require('misc')

FILE_NAV_HEIGHT = '36px'

default_file_tab_styles =
    width : 250
    borderRadius : "5px 5px 0px 0px"
    flexShrink : '1'
    overflow : 'hidden'

FileTab = rclass
    displayName : 'FileTab'

    propTypes :
        name               : rtypes.string
        label              : rtypes.string    # rendered tab title
        icon               : rtypes.string    # Affiliated icon
        project_id         : rtypes.string
        tooltip            : rtypes.string
        is_active          : rtypes.bool
        file_tab           : rtypes.bool      # Whether or not this tab holds a file
        shrink             : rtypes.bool      # Whether or not to shrink to just the icon
        has_activity       : rtypes.bool      # Whether or not some activity is happening with the file

{'fraction_non_alphanumeric': 0.11674347158218126, 'fraction_numerical': 0.006758832565284178, 'mean_word_length': 2.7168949771689497, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2115050', 'n_tokens_mistral': 975, 'n_tokens_neox': 938, 'n_words': 252}