From c603faf858a8180b9af5d47af697fff77a4aa4c7 Mon Sep 17 00:00:00 2001 From: hduchesne Date: Thu, 7 Mar 2024 18:08:11 +0100 Subject: [PATCH] fix nav rendering, remove static rendering, enable brand --- .gitignore | 1 + definitions.cnd | 10 +- .../views/navMenu.disabled/NavMenuDefault.jsx | 104 - src/server/views/navMenu.disabled/index.js | 1 - src/server/views/navMenu/NavMenuDefault.jsx | 45 +- yarn.lock | 1786 ++++++++--------- 6 files changed, 926 insertions(+), 1021 deletions(-) delete mode 100644 src/server/views/navMenu.disabled/NavMenuDefault.jsx delete mode 100644 src/server/views/navMenu.disabled/index.js diff --git a/.gitignore b/.gitignore index cf4e8b5..7486ee7 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ node_modules !.yarn/versions .pnp.* +.env .env.local luxe-jahia-demo-v* diff --git a/definitions.cnd b/definitions.cnd index 2d2c189..9fa4f5b 100644 --- a/definitions.cnd +++ b/definitions.cnd @@ -15,11 +15,11 @@ - startLevel (long) = 0 mandatory - menuItemView (string,choicelist[templates='jmix:navMenuItem,menuItem',resourceBundle,image]) = menuElement nofulltext -//[luxemix:brand] mixin -// extends = luxe:navMenu -// - brandText (string) i18n -// - brandImage (weakreference, picker[type='image']) < 'jmix:image' -// - brandImageMobile (weakreference, picker[type='image']) < 'jmix:image' +[luxemix:brand] mixin + extends = luxe:navMenu + - brandText (string) i18n + - brandImage (weakreference, picker[type='image']) < 'jmix:image' + - brandImageMobile (weakreference, picker[type='image']) < 'jmix:image' [luxemix:destination] mixin extends = jnt:page diff --git a/src/server/views/navMenu.disabled/NavMenuDefault.jsx b/src/server/views/navMenu.disabled/NavMenuDefault.jsx deleted file mode 100644 index 33ada2d..0000000 --- a/src/server/views/navMenu.disabled/NavMenuDefault.jsx +++ /dev/null @@ -1,104 +0,0 @@ -import React from 'react'; -import {useServerContext, getNodeProps, jBuildNavMenu, jUrl} from '@jahia/js-server-engine'; -import clsx from 'clsx'; - -export const NavMenuDefault = () => { - // Const {currentResource} = useServerContext(); - const {currentNode, renderContext} = useServerContext(); - const modulePath = renderContext.getURLGenerator().getCurrentModule(); - - // Const nav = getNodeProps(currentResource.getNode(), [ - const nav = getNodeProps(currentNode, [ - 'base', - 'maxDepth', - 'startLevel', - 'menuItemView' - // 'brandText', - // 'brandImage' - ]); - - const menu = jBuildNavMenu(nav.maxDepth, nav.base, nav.menuItemView, nav.startLevel); - return ( - - ); -}; - -NavMenuDefault.jahiaComponent = { - nodeType: 'luxe:navMenu', - displayName: 'Nav Menu', - componentType: 'view' -}; diff --git a/src/server/views/navMenu.disabled/index.js b/src/server/views/navMenu.disabled/index.js deleted file mode 100644 index a9765f6..0000000 --- a/src/server/views/navMenu.disabled/index.js +++ /dev/null @@ -1 +0,0 @@ -// Export * from './NavMenu'; diff --git a/src/server/views/navMenu/NavMenuDefault.jsx b/src/server/views/navMenu/NavMenuDefault.jsx index a034ff3..f8d8eb7 100644 --- a/src/server/views/navMenu/NavMenuDefault.jsx +++ b/src/server/views/navMenu/NavMenuDefault.jsx @@ -1,29 +1,34 @@ import React from 'react'; -import {useServerContext, jBuildNavMenu, jUrl} from '@jahia/js-server-engine'; +import {useServerContext, getNodeProps, jBuildNavMenu, jUrl, jAddCacheDependency} from '@jahia/js-server-engine'; import clsx from 'clsx'; -const navMenu = { - base: 'home', - maxDepth: '1', - startLevel: '0', - menuItemView: 'menuElement' -}; - export const NavMenuDefault = () => { const {currentNode, renderContext} = useServerContext(); - const modulePath = renderContext.getURLGenerator().getCurrentModule(); + + const nav = getNodeProps(currentNode, [ + 'base', + 'maxDepth', + 'startLevel', + 'menuItemView', + 'brandText', + 'brandImage' + ]); const menu = jBuildNavMenu( - navMenu.maxDepth, - navMenu.base, - navMenu.menuItemView, - navMenu.startLevel + nav.maxDepth, + nav.base, + nav.menuItemView, + nav.startLevel ); - const logo = jUrl({value: `${modulePath}/assets/logo-luxe.svg`}); - const currentPath = currentNode.getPath(); + const mainPath = renderContext.getMainResource().getPath(); + const siteName = renderContext.getSite().getName(); const home = renderContext.getSite().getHome(); + if (nav.brandImage) { + jAddCacheDependency({node: nav.brandImage}); + } + return (