1
0
mirror of https://github.com/kremalicious/portfolio.git synced 2025-02-14 21:10:41 +01:00

simplify header

This commit is contained in:
Matthias Kretschmann 2018-06-23 16:10:02 +02:00
parent 61553a094e
commit 5db9d18114
Signed by: m
GPG Key ID: 606EEEF3C479A91F

View File

@ -1,4 +1,4 @@
import React, { PureComponent } from 'react' import React from 'react'
import { Link } from 'gatsby' import { Link } from 'gatsby'
import PropTypes from 'prop-types' import PropTypes from 'prop-types'
import { FadeIn } from '../atoms/Animations' import { FadeIn } from '../atoms/Animations'
@ -8,49 +8,24 @@ import ThemeSwitch from '../molecules/ThemeSwitch'
import LogoUnit from '../atoms/LogoUnit' import LogoUnit from '../atoms/LogoUnit'
import styles from './Header.module.scss' import styles from './Header.module.scss'
class Header extends PureComponent { const Header = ({ meta, isHomepage }) => (
constructor(props) { <header
super(props) className={
isHomepage ? `${styles.header}` : `${styles.header} ${styles.minimal}`
this.state = { classes: 'header' }
}
componentDidMount() {
this.toggleClasses()
}
componentDidUpdate() {
this.toggleClasses()
}
toggleClasses = () => {
if (this.props.isHomepage) {
this.setState({ classes: styles.header })
} else {
this.setState({ classes: `${styles.header} ${styles.minimal}` })
} }
} >
<ThemeSwitch />
<FadeIn>
<Link className={styles.header__link} to={'/'}>
<LogoUnit meta={meta} minimal={!isHomepage} />
</Link>
</FadeIn>
render() { <Networks meta={meta} hide={!isHomepage} />
const meta = this.props.meta
const isHomepage = this.props.isHomepage
return ( <Availability hide={!isHomepage && !meta.availability.status} />
<header className={this.state.classes}> </header>
<ThemeSwitch /> )
<FadeIn>
<Link className={styles.header__link} to={'/'}>
<LogoUnit meta={meta} minimal={!isHomepage} />
</Link>
</FadeIn>
<Networks meta={meta} hide={!isHomepage} />
<Availability hide={!isHomepage && !meta.availability.status} />
</header>
)
}
}
Header.propTypes = { Header.propTypes = {
meta: PropTypes.object, meta: PropTypes.object,