//- Avoids including Bootstrap's own JS to prevent conflicts with react-bootstrap,
//- since Bootstrap 5's JS and react-bootstrap should not be used together on the same page.
extends ./layout-base

include ./_mixins/formMessages

block isApplicationPageVar
	- isApplicationPage = true

block append meta
	- const canDisplayAdminMenu = hasAdminAccess()
	- const canDisplayAdminRedirect = canRedirectToAdminDomain()
	- const sessionUser = getSessionUser()
	- const staffAccess = sessionUser?.staffAccess
	- const canDisplayProjectUrlLookup = settings.adminPrivilegeAvailable && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false)
	- const canDisplaySplitTestMenu = hasFeature('saas') && ((canDisplayAdminMenu && hasAdminCapability('view-split-test')) || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement)
	- const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false)
	- const canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu
	- const enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
	- const showSignUpLink = hasFeature('registration-page')

	meta(
		name='ol-navbar'
		data-type='json'
		content={
			customLogo: settings.nav.custom_logo,
			title: nav.title,
			canDisplayAdminMenu,
			canDisplayAdminRedirect,
			canDisplayProjectUrlLookup,
			canDisplaySplitTestMenu,
			canDisplaySurveyMenu,
			canDisplayScriptLogMenu,
			enableUpgradeButton,
			suppressNavbarRight: !!suppressNavbarRight,
			suppressNavContentLinks: !!suppressNavContentLinks,
			showSubscriptionLink: nav.showSubscriptionLink,
			showSignUpLink: showSignUpLink,
			currentUrl: currentUrl,
			sessionUser: sessionUser ? {email: sessionUser.email} : undefined,
			adminUrl: settings.adminUrl,
			items: cloneAndTranslateText(nav.header_extras),
		}
	)
	meta(
		name='ol-footer'
		data-type='json'
		content={
			showThinFooter: showThinFooter,
			showPoweredBy: !hasFeature('saas') && !settings.nav.hide_powered_by,
			subdomainLang: settings.i18n.subdomainLang,
			translatedLanguages: settings.translatedLanguages,
			leftItems: cloneAndTranslateText(settings.nav.left_footer),
			rightItems: settings.nav.right_footer,
		}
	)

block body
	if typeof suppressNavbar === 'undefined'
		include layout/navbar-marketing-react

	block content

	if typeof suppressFooter === 'undefined'
		if showThinFooter
			include layout/thin-footer
		else
			include layout/fat-footer-react

	if typeof suppressPugCookieBanner === 'undefined'
		include _cookie_banner
