layout-react.pug 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. meta(name="ol-footer" data-type="json" content={
  33. subdomainLang: settings.i18n.subdomainLang,
  34. translatedLanguages: settings.translatedLanguages
  35. })
  36. block body
  37. if (typeof suppressNavbar === "undefined")
  38. if bootstrapVersion === 5
  39. include layout/navbar-marketing-react-bootstrap-5
  40. else
  41. include layout/navbar-marketing
  42. block content
  43. if (typeof suppressFooter === "undefined")
  44. if showThinFooter
  45. include layout/footer-marketing
  46. else
  47. if bootstrapVersion === 5
  48. include layout/fat-footer-react-bootstrap-5
  49. else
  50. include layout/fat-footer
  51. if (typeof suppressCookieBanner === "undefined")
  52. include _cookie_banner
  53. if bootstrapVersion === 3
  54. != moduleIncludes("contactModal-marketing", locals)
  55. block prepend foot-scripts
  56. //- Only include Bootstrap JS if using Bootstrap 3
  57. if bootstrapVersion === 3
  58. +bootstrap-js(3)