wip(fs.dev): Work on navigation menu
This commit is contained in:
parent
519de5e202
commit
3940f458bb
6 changed files with 47 additions and 22 deletions
36
packages/freesewing.dev/components/header.js
Normal file
36
packages/freesewing.dev/components/header.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
const Right = props => (
|
||||
<svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 8l4 4m0 0l-4 4m4-4H3" />
|
||||
</svg>
|
||||
)
|
||||
const Left = props => (
|
||||
<svg xmlns="http://www.w3.org/2000/svg" className="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor">
|
||||
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M10 19l-7-7m0 0l7-7m-7 7h18" />
|
||||
</svg>
|
||||
)
|
||||
|
||||
const Header = ({ app }) => {
|
||||
return (
|
||||
<header className={`
|
||||
bg-primary
|
||||
p-4
|
||||
block
|
||||
sm:hidden
|
||||
z-10
|
||||
`}>
|
||||
<button
|
||||
className={`
|
||||
btn border-base-100 text-base-100 btn-sm border border-transparent bg-transparent
|
||||
hover:border hover:bg-transparent hover:border-base-100
|
||||
`}
|
||||
onClick={app.togglePrimaryMenu}>
|
||||
{app.primaryMenu
|
||||
? <><Left /> Hide menu</>
|
||||
: <>Show menu <Right /></>
|
||||
}
|
||||
</button>
|
||||
</header>
|
||||
)
|
||||
}
|
||||
|
||||
export default Header
|
|
@ -12,6 +12,7 @@
|
|||
"serve": "pm2 start npm --name 'freesewing.dev' -- run start"
|
||||
},
|
||||
"dependencies": {
|
||||
"@heroicons/react": "^1.0.5",
|
||||
"@mdx-js/loader": "^2.0.0-rc.2",
|
||||
"@mdx-js/mdx": "^2.0.0-rc.2",
|
||||
"@mdx-js/react": "^2.0.0-rc.2",
|
||||
|
|
|
@ -7,18 +7,7 @@ export default (props) => {
|
|||
return (
|
||||
<Page app={app} title='FIXME: Create homepage content'>
|
||||
<Logo size={200} theme={app.theme}/>
|
||||
<p className="bg-secondary hover:bold mr-4 hover:bg-base-100">test</p>
|
||||
<p className="cursor-pointer label justify-start gap-4 font-lg lg:font-xl font-bold border rounded mb-2">saef</p>
|
||||
|
||||
<label className="cursor-pointer label justify-start gap-4 font-lg lg:font-xl font-bold">
|
||||
<input
|
||||
type="checkbox"
|
||||
checked={develop}
|
||||
className="toggle toggle-secondary"
|
||||
onChange={() => setDevelop(!develop)}
|
||||
/>
|
||||
<span className="ml-4 label-text text-secondary">{develop ? 'Disable' : 'Enable'} Developer View</span>
|
||||
</label>
|
||||
<button className="btn btn-primary" onClick={app.togglePrimaryMenu}>toggle menu</button>
|
||||
</Page>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -5,6 +5,8 @@ import Link from 'next/link'
|
|||
import Logo from 'shared/components/logos/freesewing.js'
|
||||
import PrimaryNavigation from 'shared/components/navigation/primary'
|
||||
import get from 'lodash.get'
|
||||
// Site components
|
||||
import Header from 'site/components/header'
|
||||
|
||||
const iconSize= 48
|
||||
|
||||
|
@ -71,14 +73,7 @@ const DefaultLayout = ({ app, title=false, children=[]}) => {
|
|||
bg-base-100
|
||||
lg:py-8
|
||||
`} data-theme={app.theme}>
|
||||
<header className={`
|
||||
bg-primary
|
||||
p-4
|
||||
block
|
||||
sm:hidden
|
||||
`}>
|
||||
header
|
||||
</header>
|
||||
<Header app={app}/>
|
||||
<main className={`
|
||||
grow flex flex-row
|
||||
sm:py-8
|
||||
|
@ -89,9 +84,11 @@ const DefaultLayout = ({ app, title=false, children=[]}) => {
|
|||
<aside className={`
|
||||
fixed top-0 right-0
|
||||
${app.primaryMenu ? '' : 'translate-x-[-100%]'} transition-transform
|
||||
pt-16
|
||||
sm:pt-4
|
||||
sm:relative sm:transform-none
|
||||
h-screen w-screen
|
||||
bg-base-50
|
||||
bg-base-100
|
||||
sm:bg-base-50
|
||||
sm:max-w-[38.2%]
|
||||
sm:flex sm:flex-row-reverse
|
||||
|
|
|
@ -156,7 +156,7 @@ const TopTheme = ({ app }) => (
|
|||
hover:cursor-row-resize
|
||||
hover:bg-base-200
|
||||
p-2
|
||||
text-primary
|
||||
text-content-base
|
||||
`}>
|
||||
<Icon icon='theme' className="text-secondary"/>
|
||||
<div className={`grow`}>
|
||||
|
|
|
@ -5,6 +5,8 @@ module.exports = {
|
|||
content: [
|
||||
'./pages/*.js',
|
||||
'./pages/**/*.js',
|
||||
'./components/*.js',
|
||||
'./components/**/*.js',
|
||||
'../freesewing.shared/components/**/*.js',
|
||||
],
|
||||
plugins: [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue