<commit_before>import './Header.styles'
import React, { Component } from "react";
import classes from "classnames";

import {bindMembersToClass} from '~/utils'

import Navbar from './Navbar'
import Panels from './Panels'
// import Drawer from './Drawer'

import {onDrawerToggle} from '~/events/subscribers';
import {
    DRAWER_TOGGLED,
    PANEL_TOGGLED
} from '~/redux/types'


class Header extends Component {
    constructor(props) {
        super(props);

        bindMembersToClass(this, 'toggleDrawer', 'togglePanel')

        this.state = {
            isDrawerOpen: props.isDrawerOpen,
            activePanel: null
        }
    }

    render() {
        const {
            isDrawerOpen,
            activePanel
        } = this.state

        return (
            <div id="header" className="Header">
                <Navbar {...this.props}
                    isDrawerOpen={isDrawerOpen}
                    activePanel={activePanel}
                    togglePanel={this.togglePanel}
                    toggleDrawer={this.toggleDrawer}
                />
                <Panels {...this.props}
                    isDrawerOpen={isDrawerOpen}
                    activePanel={activePanel}/>
                {/*<Drawer {...this.props}
                    isDrawerOpen={isDrawerOpen}/>*/}
            </div>
        )
    }

    @onDrawerToggle
    toggleDrawer() {
        console.log("toggleDrawer()")
        this.setState( state => {
            return {
                isDrawerOpen: !state.isDrawerOpen
            }
        })
        setTimeout(this.props.toggleDrawer, 300)
    }

    togglePanel(panel) {
        console.log("togglePanel()")
        this.setState( state => {
            const samePanel = state.activePanel === panel
            return {
                activePanel: samePanel ? null : panel
            }
        })
        this.forceUpdate()
    }
}

export default Header<commit_msg>feat(Header): Temp add Footer to header for dev<commit_after>import './Header.styles'
import React, {
    Component
} from 'react';

import {
    bindMembersToClass
} from '~/utils'

import Navbar from './Navbar'
import Panels from './Panels'
import Footer from './Footer';

// import Drawer from './Drawer'

import {
    onDrawerToggle
} from '~/events/subscribers';

import {
    DRAWER_TOGGLED,
    PANEL_TOGGLED
} from '~/redux/types'


class Header extends Component {
    constructor(props) {
        super(props);

        bindMembersToClass(this, 'toggleDrawer', 'togglePanel')

        this.state = {
            isDrawerOpen: props.isDrawerOpen,
            activePanel: null
        }
    }

    render() {
        const {
            isDrawerOpen,
            activePanel
        } = this.state

        return (
            <div
              id='header'
              className='Header'>
              <Navbar
                {...this.props}
                isDrawerOpen={isDrawerOpen}
                activePanel={activePanel}
                togglePanel={this.togglePanel}
                toggleDrawer={this.toggleDrawer} />
              <Panels
                {...this.props}
                isDrawerOpen={isDrawerOpen}
                activePanel={activePanel} />
              <Footer {...this.props}/>
            </div>
        )
    }

    @onDrawerToggle
    toggleDrawer() {
        console.log('toggleDrawer()')
        this.setState(state => {
            return {
                isDrawerOpen: !state.isDrawerOpen
            }
        })
        setTimeout(this.props.toggleDrawer, 300)
    }

    togglePanel(panel) {
        console.log('togglePanel()')
        this.setState(state => {
            const samePanel = state.activePanel === panel
            return {
                activePanel: samePanel ? null : panel
            }
        })
        this.forceUpdate()
    }
}

export default Header
{'fraction_non_alphanumeric': 0.11088082901554404, 'fraction_numerical': 0.0015544041450777201, 'mean_word_length': 1.5878016085790885, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 17, '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': '6587264', 'n_tokens_mistral': 1101, 'n_tokens_neox': 1061, 'n_words': 203}