Files
old-v2-frontend/src/components/SideMenu.js

88 lines
2.7 KiB
JavaScript
Raw Normal View History

import React, { Component } from 'react'
2018-07-05 17:28:49 +02:00
import Link from 'gatsby-link'
2018-07-05 16:53:33 +02:00
import './SideMenu.css'
class SideMenu extends Component {
2018-07-05 16:53:33 +02:00
componentDidMount() {
var Slideout = require('slideout')
const slideout = new Slideout({
panel: document.querySelector('.side-panel'),
menu: document.querySelector('.side-menu'),
toggle: document.querySelector('.side-toggle'),
padding: 0,
tolerance: 70,
side: 'right',
})
document
.querySelector('.side-toggle')
.addEventListener('click', function() {
slideout.toggle()
})
2018-07-05 17:52:02 +02:00
close = () => {
2018-07-05 17:52:02 +02:00
slideout.close()
}
slideout
.on('beforeopen', function() {
this.panel.classList.add('panel-open')
})
.on('open', function() {
this.panel.addEventListener('click', close)
let closeMenu = document.querySelectorAll('.side-close')
Array.from(closeMenu).forEach(trigger => {
trigger.addEventListener('click', close)
})
2018-07-05 17:52:02 +02:00
})
.on('beforeclose', function() {
this.panel.classList.remove('panel-open')
this.panel.removeEventListener('click', close)
})
2018-07-05 16:53:33 +02:00
}
render() {
return (
<div className="side-menu">
2018-07-05 17:28:49 +02:00
<ul className="m-0 p-0 mt-4 side-navigation">
<button className="text-white text-2xl m-2 opacity-50 hover:opacity-100 px-2 side-close">
2018-07-05 17:52:02 +02:00
X
</button>
<Link to="/" className="side-close menu-home no-underline">
2018-08-23 14:18:31 +02:00
<li className="hover:bg-indigo hover:opacity-100 text-right no-underline text-2xl uppercase p-4 text-white">
2018-07-05 18:14:05 +02:00
Home
</li>
</Link>
<Link
to="/services"
className="side-close menu-services no-underline"
>
2018-08-23 14:18:31 +02:00
<li className="hover:bg-indigo hover:opacity-100 text-right no-underline text-2xl uppercase p-4 text-white">
2018-07-10 11:47:58 +02:00
Services
2018-07-05 17:28:49 +02:00
</li>
</Link>
<Link to="/about" className="side-close menu-about no-underline">
2018-08-23 14:18:31 +02:00
<li className="hover:bg-indigo hover:opacity-100 text-right no-underline text-2xl uppercase p-4 text-white">
2018-07-10 11:47:58 +02:00
About Us
2018-07-05 17:28:49 +02:00
</li>
</Link>
<Link to="/blog" className="side-close menu-blog no-underline">
2018-08-23 14:18:31 +02:00
<li className="hover:bg-indigo hover:opacity-100 text-right no-underline text-2xl uppercase p-4 text-white">
2018-07-05 17:28:49 +02:00
Blog
</li>
</Link>
<Link to="/contact" className="side-close menu-contact no-underline">
2018-08-23 14:18:31 +02:00
<li className="hover:bg-indigo hover:opacity-100 text-right no-underline text-2xl uppercase p-4 text-white">
2018-07-10 11:47:58 +02:00
Contact
</li>
</Link>
2018-07-05 17:28:49 +02:00
</ul>
</div>
)
}
}
export default SideMenu