import React, { Component } from 'react' import Link from 'gatsby-link' import './SideMenu.css' class SideMenu extends Component { 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() }) close = () => { 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) }) }) .on('beforeclose', function() { this.panel.classList.remove('panel-open') this.panel.removeEventListener('click', close) }) } render() { return (
) } } export default SideMenu