import React, { useState, useEffect } from 'react' import AppContext from '../utils/AppContext' import { Link } from '@reach/router' import Button from '../components/Button' import Cookies from 'js-cookie' const CookiesBanner = () => { const [cookiesBanner, setCookiesBanner] = useState(false) /* Toggle customizable functionality */ const cookiesHandler = (callback) => { setCookiesBanner(true) return callback } useEffect(() => { const acceptanceStatus = Cookies.get('acceptance-remainder') if (acceptanceStatus) { setCookiesBanner(true) } }, [cookiesBanner]) return ( <AppContext.Consumer> {({ state, dispatch }) => ( <> <div className={cookiesBanner ? 'cookies-alert hide' : 'cookies-alert'} > <div className='cookies-alert-body'> <p> EOS Icons uses cookies to help us learn more about how we can improve our product. <br /> <Link to='/cookies-policy'> Learn more about our cookie policy </Link> </p> </div> <div className='cookies-alert-buttons'> <Link className='btn btn-default btn-inverted' to='/cookies-policy' > Edit preferences </Link> <Button onClick={() => cookiesHandler(dispatch({ type: 'TOGGLE_CUSTOMIZE_COOKIES' })) } primary customClass='js-cookies-accept' > Accept </Button> </div> </div> </> )} </AppContext.Consumer> ) } export default CookiesBanner