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

57 lines
1.3 KiB
JavaScript

import React, { PureComponent } from 'react'
import PropTypes from 'prop-types'
import { Link, StaticQuery, graphql } from 'gatsby'
import classNames from 'classnames'
import Networks from '../molecules/Networks'
import Availability from '../molecules/Availability'
import ThemeSwitch from '../molecules/ThemeSwitch'
import LogoUnit from '../molecules/LogoUnit'
import styles from './Header.module.scss'
const query = graphql`
query {
dataYaml {
availability {
status
}
}
}
`
export default class Header extends PureComponent {
static propTypes = {
minimal: PropTypes.bool
}
render() {
const { minimal } = this.props
let headerClasses = classNames([styles.header], {
[styles.minimal]: minimal
})
return (
<StaticQuery
query={query}
render={data => {
const meta = data.dataYaml
return (
<header className={headerClasses}>
<ThemeSwitch />
<Link className={styles.link} to={'/'}>
<LogoUnit minimal={minimal} />
</Link>
<Networks hide={minimal} />
<Availability hide={minimal && !meta.availability.status} />
</header>
)
}}
/>
)
}
}