diff --git a/packages/freesewing.dev/components/layouts/bare.js b/packages/freesewing.dev/components/layouts/bare.js new file mode 100644 index 00000000000..21ee80473ba --- /dev/null +++ b/packages/freesewing.dev/components/layouts/bare.js @@ -0,0 +1,66 @@ +import React from 'react' +import { useRouter } from 'next/router' +import Link from 'next/link' +// Shared components +import Logo from 'shared/components/logos/freesewing.js' +import Aside from 'shared/components/navigation/aside' +import get from 'lodash.get' + +const PageTitle = ({ app, slug, title }) => { + if (title) return

{title}

+ if (slug) return

{get(app.navigation, slug.split('/')).__title}

+ + return

FIXME: This page has no title

+} + +const Breadcrumbs = ({ app, slug=false, title }) => { + if (!slug) return null + const crumbs = [] + const chunks = slug.split('/') + for (const i in chunks) { + const j = parseInt(i)+parseInt(1) + const page = get(app.navigation, chunks.slice(0,j)) + if (page) crumbs.push([page.__linktitle, '/'+chunks.slice(0,j).join('/'), (j < chunks.length)]) + } + + return ( + + ) +} + +const DefaultLayout = ({ app, title=false, children=[] }) => { + const router = useRouter() + const slug = router.asPath.slice(1) + + return [ +