1
0
Fork 0
freesewing/packages/freesewing.shared/components/wrappers/page.js

73 lines
2 KiB
JavaScript
Raw Normal View History

2021-12-11 14:04:05 +01:00
import React, { useState, useEffect } from 'react'
import { useSwipeable } from 'react-swipeable'
2021-12-24 18:17:02 +01:00
import { useRouter } from 'next/router'
2021-12-11 14:04:05 +01:00
//import Head from 'next/head'
//import { useHotkeys } from 'react-hotkeys-hook'
//import themes from '@/shared/themes'
//import config from '@/site/freesewing.config.js'
// Shared components
import Layout from 'shared/components/layouts/default'
//import ProgressBar from '@/shared/components/progress-bar'
//import Navbar from '@/shared/components/sections/navbar'
//import Footer from '@/site/components/footer'
//import useNavigation from '@/shared/hooks/useNavigation'
//
/* This component should wrap all page content */
const AppWrapper= props => {
const swipeHandlers = useSwipeable({
onSwipedLeft: evt => (props.app.primaryMenu) ? props.app.setPrimaryMenu(false) : null,
onSwipedRight: evt => (props.app.primaryMenu) ? null : props.app.setPrimaryMenu(true),
trackMouse: true
})
2021-12-24 18:17:02 +01:00
const router = useRouter()
props.app.setSlug(router.asPath.slice(1))
2021-12-11 14:04:05 +01:00
//const locale = router.locale || config.language
//const tree = useNavigation(locale, path)
// Trigger search with Ctrl+k
//useHotkeys('ctrl+k', (evt) => {
// evt.preventDefault()
// setSearch(true)
//})
//const [menu, setMenu] = useState(false)
//const [search, setSearch] = useState(false)
//useEffect(() => {
// themeChange(false)
//}, [menu])
const childProps = {
app: props.app,
title: props.title,
}
// menu, setMenu, toggleMenu: () => setMenu(!menu),
// search, setSearch, toggleSearch: () => setSearch(!search),
// path, tree,
// title: props.title,
// t: props.t ? props.t : (x) => x,
// locale, languages: config.languages,
//}
2021-12-11 14:04:05 +01:00
return (
<div
{...swipeHandlers}
data-theme={props.app.theme}
key={props.app.theme+Date.now()} // Thiis forces the data-theme update
>
2021-12-11 14:04:05 +01:00
{props.noLayout
? props.children
2021-12-30 18:54:42 +01:00
: <Layout {...childProps}>{props.children}</Layout>
2021-12-11 14:04:05 +01:00
}
</div>
2021-12-11 14:04:05 +01:00
)
}
export default AppWrapper