layout-react.pug 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //- This is used for pages that are migrated to Bootstrap 5 but don't use Bootstrap's own JS, instead using
  2. //- react-bootstrap for all Bootstrap components
  3. extends ./layout-base
  4. include ./_mixins/formMessages
  5. include ./_mixins/bootstrap_js
  6. block entrypointVar
  7. - entrypoint = 'marketing'
  8. block append meta
  9. if bootstrapVersion === 5
  10. - const canDisplayAdminMenu = hasAdminAccess()
  11. - const canDisplayAdminRedirect = canRedirectToAdminDomain()
  12. - const sessionUser = getSessionUser()
  13. - const staffAccess = sessionUser?.staffAccess
  14. - const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement)
  15. - const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
  16. - const enableUpgradeButton = projectDashboardReact && usersBestSubscription && usersBestSubscription.type === 'free'
  17. meta(name="ol-navbar" data-type="json" content={
  18. customLogo: settings.nav.custom_logo,
  19. title: nav.title,
  20. canDisplayAdminMenu,
  21. canDisplayAdminRedirect,
  22. canDisplaySplitTestMenu,
  23. canDisplaySurveyMenu,
  24. enableUpgradeButton,
  25. suppressNavbarRight: !!suppressNavbarRight,
  26. suppressNavContentLinks: !!suppressNavContentLinks,
  27. showSubscriptionLink: nav.showSubscriptionLink,
  28. sessionUser: sessionUser ? { email: sessionUser.email} : undefined,
  29. adminUrl: settings.adminUrl,
  30. items: cloneAndTranslateText(nav.header_extras)
  31. })
  32. block body
  33. if (typeof suppressNavbar === "undefined")
  34. if bootstrapVersion === 5
  35. include layout/navbar-marketing-react-bootstrap-5
  36. else
  37. include layout/navbar-marketing
  38. block content
  39. if (typeof suppressFooter === "undefined")
  40. if showThinFooter
  41. include layout/footer-marketing
  42. else
  43. include layout/fat-footer
  44. if (typeof suppressCookieBanner === "undefined")
  45. include _cookie_banner
  46. if bootstrapVersion === 3
  47. != moduleIncludes("contactModal-marketing", locals)
  48. block prepend foot-scripts
  49. //- Only include Bootstrap JS if using Bootstrap 3
  50. if bootstrapVersion === 3
  51. +bootstrap-js(3)