layout-react.pug 2.3 KB

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