feat(lab): Add support for multiple versions in the lab
This commit is contained in:
parent
4db8ab099b
commit
d4833fb6a4
14 changed files with 280 additions and 48 deletions
|
@ -6,9 +6,10 @@ import patterns from 'site/patterns.json'
|
|||
// Locale and translation
|
||||
import { useTranslation } from 'next-i18next'
|
||||
import { capitalize } from 'shared/utils'
|
||||
import useVersion from 'site/hooks/useVersion.js'
|
||||
|
||||
// Initial navigation
|
||||
const initialNavigation = (t) => {
|
||||
const initialNavigation = (t, version) => {
|
||||
const base = {
|
||||
accessories: {
|
||||
__title: t('accessoryPatterns'),
|
||||
|
@ -41,7 +42,7 @@ const initialNavigation = (t) => {
|
|||
__title: capitalize(design),
|
||||
__order: design,
|
||||
__linktitle: capitalize(design),
|
||||
__slug: `${type}/${design}`
|
||||
__slug: `v/${version}/${design}`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,6 +52,9 @@ const initialNavigation = (t) => {
|
|||
|
||||
function useApp(full = true) {
|
||||
|
||||
// Version
|
||||
const version = useVersion()
|
||||
|
||||
// Locale (aka language)
|
||||
const { t } = useTranslation(['app'])
|
||||
|
||||
|
@ -65,7 +69,7 @@ function useApp(full = true) {
|
|||
|
||||
// React State
|
||||
const [primaryMenu, setPrimaryMenu] = useState(false)
|
||||
const [navigation, setNavigation] = useState(initialNavigation(t))
|
||||
const [navigation, setNavigation] = useState(initialNavigation(t, version))
|
||||
const [slug, setSlug] = useState('/')
|
||||
const [pattern, setPattern] = useState(false)
|
||||
const [loading, setLoading] = useState(false)
|
||||
|
|
16
packages/freesewing.lab/hooks/useVersion.js
Normal file
16
packages/freesewing.lab/hooks/useVersion.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
import { useRouter } from 'next/router'
|
||||
|
||||
export const defaultVersion = 'next'
|
||||
|
||||
const useVersion = () => {
|
||||
const { pathname } = useRouter()
|
||||
const chunks = pathname.split('/')
|
||||
const version = (chunks[1] === 'v')
|
||||
? chunks[2]
|
||||
: defaultVersion
|
||||
|
||||
return version
|
||||
}
|
||||
|
||||
export default useVersion
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue