1
0
Fork 0

wip(fs.dev): More work on new dev site

This commit is contained in:
Joost De Cock 2021-12-24 18:17:02 +01:00
parent d4baf722f3
commit 096c2f5f6a
10 changed files with 55 additions and 21 deletions

View file

@ -21,7 +21,7 @@ function useApp(full = true) {
// React State // React State
const [primaryMenu, setPrimaryMenu] = useState(false) const [primaryMenu, setPrimaryMenu] = useState(false)
const [navigation, setNavigation] = useState(prebuildNavigation[language]) const [navigation, setNavigation] = useState(prebuildNavigation[language])
const [slug, setSlug] = useState('/')
// State methods // State methods
const togglePrimaryMenu = () => setPrimaryMenu(!primaryMenu) const togglePrimaryMenu = () => setPrimaryMenu(!primaryMenu)
@ -58,12 +58,14 @@ function useApp(full = true) {
language, language,
navigation, navigation,
primaryMenu, primaryMenu,
slug,
theme, theme,
// State setters // State setters
setLanguage, setLanguage,
setNavigation, setNavigation,
setPrimaryMenu, setPrimaryMenu,
setSlug,
setTheme, setTheme,
// State handlers // State handlers

View file

@ -7,6 +7,18 @@ export default (props) => {
return ( return (
<Page app={app} title='FIXME: Create homepage content'> <Page app={app} title='FIXME: Create homepage content'>
<Logo size={200} theme={app.theme}/> <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>
</Page> </Page>
) )
} }

View file

@ -695,8 +695,8 @@ export default {
"slug": "guides/prerequisites/coordinate-system" "slug": "guides/prerequisites/coordinate-system"
}, },
"guides/prerequisites": { "guides/prerequisites": {
"title": "Prerequisites", "title": "Before you start",
"order": "100Prerequisites", "order": "100Before you start",
"slug": "guides/prerequisites" "slug": "guides/prerequisites"
}, },
"guides/prerequisites/parametric-pattern-design": { "guides/prerequisites/parametric-pattern-design": {

View file

@ -822,10 +822,10 @@ export default {
} }
}, },
"prerequisites": { "prerequisites": {
"__title": "Prerequisites", "__title": "Before you start",
"__linktitle": "Prerequisites", "__linktitle": "Before you start",
"__slug": "guides/prerequisites", "__slug": "guides/prerequisites",
"__order": "100Prerequisites", "__order": "100Before you start",
"bezier-curves": { "bezier-curves": {
"__title": "Bézier curves", "__title": "Bézier curves",
"__linktitle": "Bézier curves", "__linktitle": "Bézier curves",

View file

@ -10,7 +10,7 @@ import rendertest from '@freesewing/rendertest'
import tutorial from '@freesewing/tutorial' import tutorial from '@freesewing/tutorial'
const mdxCustomComponents = { const mdxCustomComponents = (app) => ({
// Custom components // Custom components
DesignIterator, DesignIterator,
Example: props => <Example Example: props => <Example
@ -20,7 +20,7 @@ const mdxCustomComponents = {
Fixme: props => <Popout {...props} fixme />, Fixme: props => <Popout {...props} fixme />,
Link: props => <Popout {...props} link />, Link: props => <Popout {...props} link />,
Note: props => <Popout {...props} note />, Note: props => <Popout {...props} note />,
ReadMore, ReadMore: props => <ReadMore {...props} app={app} />,
Related: props => <Popout {...props} related />, Related: props => <Popout {...props} related />,
Tip: props => <Popout {...props} tip />, Tip: props => <Popout {...props} tip />,
Warning: props => <Popout {...props} warning />, Warning: props => <Popout {...props} warning />,
@ -39,7 +39,7 @@ const mdxCustomComponents = {
</Popout> </Popout>
), ),
} })
export default mdxCustomComponents export default mdxCustomComponents

View file

@ -1,4 +1,24 @@
const ReadMore = props => <p>FIXME: Example still todo</p> import get from 'lodash.get'
import orderBy from 'lodash.orderby'
import Link from 'next/link'
// Helper method to filter out the real children
const currentChildren = current => Object.values(current)
.filter(entry => (typeof entry === 'object'))
const ReadMore = props => {
const root = get(props.app.navigation, props.app.slug.split('/'))
const list = []
for (const page of currentChildren(root)) {
list.push(<li key={page.__slug}>
<Link href={`/${page.__slug}`}>
<a>{page.__title}</a>
</Link>
</li>)
}
return <ul>{list}</ul>
}
export default ReadMore export default ReadMore

View file

@ -10,15 +10,15 @@ const colors = {
none: '', none: '',
} }
let forceTailwind = <p className="border-accent" /> let forceTailwind = <p className="border-accent bg-accent" />
forceTailwind = <p className="text-accent" /> forceTailwind = <p className="text-accent" />
forceTailwind = <p className="border-secondary" /> forceTailwind = <p className="border-secondary bg-secondary" />
forceTailwind = <p className="text-secondary" /> forceTailwind = <p className="text-secondary" />
forceTailwind = <p className="border-error" /> forceTailwind = <p className="border-error bg-error" />
forceTailwind = <p className="text-error" /> forceTailwind = <p className="text-error" />
forceTailwind = <p className="border-warning" /> forceTailwind = <p className="border-warning bg-warning" />
forceTailwind = <p className="text-warning" /> forceTailwind = <p className="text-warning" />
forceTailwind = <p className="border-info" /> forceTailwind = <p className="border-info bg-info" />
forceTailwind = <p className="text-info" /> forceTailwind = <p className="text-info" />
const Popout = (props) => { const Popout = (props) => {
@ -29,7 +29,7 @@ const Popout = (props) => {
const color = colors[type] const color = colors[type]
return ( return (
<div className="relative my-8"> <div className={`relative my-8 bg-${color} bg-opacity-5`}>
<div className={` <div className={`
border-l-4 px-8 py-2 shadow border-${color}`}> border-l-4 px-8 py-2 shadow border-${color}`}>
<div className={`font-bold uppercase text-${color}`}> <div className={`font-bold uppercase text-${color}`}>

View file

@ -28,7 +28,7 @@ const MdxWrapper = ({mdx, app, components={}}) => {
* extra components via props * extra components via props
*/ */
const allComponents = { const allComponents = {
...customComponents, ...customComponents(app),
...components ...components
} }

View file

@ -1,10 +1,9 @@
import React, { useState, useEffect } from 'react' import React, { useState, useEffect } from 'react'
import { useSwipeable } from 'react-swipeable' import { useSwipeable } from 'react-swipeable'
//import {themeChange} from "theme-change" import { useRouter } from 'next/router'
//import Head from 'next/head' //import Head from 'next/head'
//import { useHotkeys } from 'react-hotkeys-hook' //import { useHotkeys } from 'react-hotkeys-hook'
//import themes from '@/shared/themes' //import themes from '@/shared/themes'
//import { useRouter } from 'next/router'
//import config from '@/site/freesewing.config.js' //import config from '@/site/freesewing.config.js'
// Shared components // Shared components
import Layout from 'shared/components/layouts/default' import Layout from 'shared/components/layouts/default'
@ -24,8 +23,8 @@ const AppWrapper= props => {
trackMouse: true trackMouse: true
}) })
//const router = useRouter() const router = useRouter()
//const path = router.asPath props.app.setSlug(router.asPath.slice(1))
//const locale = router.locale || config.language //const locale = router.locale || config.language
//const tree = useNavigation(locale, path) //const tree = useNavigation(locale, path)

View file

@ -13,6 +13,7 @@ svg.freesewing.pattern {
stroke-width: calc(var(--pattern-stroke) * var(--pattern-scale)); stroke-width: calc(var(--pattern-stroke) * var(--pattern-scale));
stroke-linecap: round; stroke-linecap: round;
stroke-linejoin: round; stroke-linejoin: round;
stroke: currentColor;
} }
/* Stroke width utility classes */ /* Stroke width utility classes */