layout-react.pug 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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. - const showSignUpLink = hasFeature('registration-page')
  18. meta(name="ol-navbar" data-type="json" content={
  19. customLogo: settings.nav.custom_logo,
  20. title: nav.title,
  21. canDisplayAdminMenu,
  22. canDisplayAdminRedirect,
  23. canDisplaySplitTestMenu,
  24. canDisplaySurveyMenu,
  25. enableUpgradeButton,
  26. suppressNavbarRight: !!suppressNavbarRight,
  27. suppressNavContentLinks: !!suppressNavContentLinks,
  28. showSubscriptionLink: nav.showSubscriptionLink,
  29. showSignUpLink: showSignUpLink,
  30. currentUrl: currentUrl,
  31. sessionUser: sessionUser ? { email: sessionUser.email} : undefined,
  32. adminUrl: settings.adminUrl,
  33. items: cloneAndTranslateText(nav.header_extras)
  34. })
  35. meta(name="ol-footer" data-type="json" content={
  36. subdomainLang: settings.i18n.subdomainLang,
  37. translatedLanguages: settings.translatedLanguages
  38. })
  39. block body
  40. if (typeof suppressNavbar === "undefined")
  41. if bootstrapVersion === 5
  42. include layout/navbar-marketing-react-bootstrap-5
  43. else
  44. include layout/navbar-marketing
  45. block content
  46. if (typeof suppressFooter === "undefined")
  47. if showThinFooter
  48. include layout/footer-marketing
  49. else
  50. if bootstrapVersion === 5
  51. include layout/fat-footer-react-bootstrap-5
  52. else
  53. include layout/fat-footer
  54. if (typeof suppressCookieBanner === "undefined")
  55. include _cookie_banner
  56. if bootstrapVersion === 3
  57. != moduleIncludes("contactModal-marketing", locals)
  58. block prepend foot-scripts
  59. //- Only include Bootstrap JS if using Bootstrap 3
  60. if bootstrapVersion === 3
  61. +bootstrap-js(3)