|
|
@@ -1,35 +1,14 @@
|
|
|
-nav.navbar.navbar-default.navbar-main(
|
|
|
+include ../_mixins/navbar
|
|
|
+include ../_mixins/material_symbol
|
|
|
+
|
|
|
+nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
|
|
|
class={
|
|
|
'website-redesign-navbar': isWebsiteRedesign,
|
|
|
}
|
|
|
aria-label=translate('primary')
|
|
|
)
|
|
|
- .container-fluid
|
|
|
+ .container-fluid.navbar-container
|
|
|
.navbar-header
|
|
|
- if typeof suppressNavbarRight == 'undefined'
|
|
|
- button.navbar-toggle.collapsed(
|
|
|
- type='button'
|
|
|
- data-toggle='collapse'
|
|
|
- data-target='#navbar-main-collapse'
|
|
|
- aria-label='Toggle ' + translate('navigation')
|
|
|
- )
|
|
|
- i.fa.fa-bars(aria-hidden='true')
|
|
|
- - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
|
|
|
- if enableUpgradeButton
|
|
|
- //- prettier-ignore
|
|
|
- a.btn.btn-primary.float-end.me-2.visible-xs(
|
|
|
- href='/user/subscription/plans'
|
|
|
- event-tracking='upgrade-button-click'
|
|
|
- event-tracking-mb='true'
|
|
|
- event-tracking-label='upgrade'
|
|
|
- event-tracking-trigger='click'
|
|
|
- event-segmentation={
|
|
|
- source: "dashboard-top",
|
|
|
- "project-dashboard-react": "enabled",
|
|
|
- "is-dashboard-sidebar-hidden": "true",
|
|
|
- "is-screen-width-less-than-768px": "true"
|
|
|
- }
|
|
|
- ) #{translate("upgrade")}
|
|
|
if settings.nav.custom_logo
|
|
|
a.navbar-brand(
|
|
|
href='/'
|
|
|
@@ -41,50 +20,62 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
else
|
|
|
a.navbar-brand(href='/' aria-label=settings.appName)
|
|
|
|
|
|
+ - var enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
|
|
|
+ if enableUpgradeButton
|
|
|
+ a.btn.btn-primary.me-2.d-md-none(
|
|
|
+ href='/user/subscription/plans'
|
|
|
+ event-tracking='upgrade-button-click'
|
|
|
+ event-tracking-mb='true'
|
|
|
+ event-tracking-label='upgrade'
|
|
|
+ event-tracking-trigger='click'
|
|
|
+ event-segmentation={source: 'dashboard-top', projectDashboardReact: 'enabled', isDashboardSidebarHidden: 'true', isScreenWidthLessThan768px: 'true'}
|
|
|
+ ) #{translate("upgrade")}
|
|
|
+
|
|
|
- var canDisplayAdminMenu = hasAdminAccess()
|
|
|
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
|
|
- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
|
|
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
|
|
|
- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log') && canDisplayAdminMenu
|
|
|
|
|
|
- if typeof suppressNavbarRight == 'undefined'
|
|
|
+ if typeof suppressNavbarRight === 'undefined'
|
|
|
+ button#navbar-toggle-btn.navbar-toggler.collapsed(
|
|
|
+ type='button'
|
|
|
+ data-bs-toggle='collapse'
|
|
|
+ data-bs-target='#navbar-main-collapse'
|
|
|
+ aria-controls='navbar-main-collapse'
|
|
|
+ aria-expanded='false'
|
|
|
+ aria-label='Toggle ' + translate('navigation')
|
|
|
+ )
|
|
|
+ +material-symbol('menu')
|
|
|
+
|
|
|
#navbar-main-collapse.navbar-collapse.collapse
|
|
|
- ul.nav.navbar-nav.navbar-right
|
|
|
+ ul.nav.navbar-nav.navbar-right.ms-auto(role='menubar')
|
|
|
if canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu
|
|
|
- li.dropdown.subdued
|
|
|
- a.dropdown-toggle(
|
|
|
- href='#'
|
|
|
- role='button'
|
|
|
+ +nav-item.dropdown.subdued
|
|
|
+ button.dropdown-toggle(
|
|
|
aria-haspopup='true'
|
|
|
aria-expanded='false'
|
|
|
- data-toggle='dropdown'
|
|
|
+ data-bs-toggle='dropdown'
|
|
|
+ role='menuitem'
|
|
|
event-tracking='menu-expand'
|
|
|
event-tracking-mb='true'
|
|
|
event-tracking-trigger='click'
|
|
|
event-segmentation={item: 'admin', location: 'top-menu'}
|
|
|
)
|
|
|
| Admin
|
|
|
- span.caret
|
|
|
- ul.dropdown-menu
|
|
|
+ +dropdown-menu.dropdown-menu-end
|
|
|
if canDisplayAdminMenu
|
|
|
- li
|
|
|
- a(href='/admin') Manage Site
|
|
|
- li
|
|
|
- a(href='/admin/user') Manage Users
|
|
|
- li
|
|
|
- a(href='/admin/project') Project URL Lookup
|
|
|
+ +dropdown-menu-link-item(href='/admin') Manage Site
|
|
|
+ +dropdown-menu-link-item(href='/admin/user') Manage Users
|
|
|
+ +dropdown-menu-link-item(href='/admin/project') Project URL Lookup
|
|
|
if canDisplayAdminRedirect
|
|
|
- li
|
|
|
- a(href=settings.adminUrl) Switch to Admin
|
|
|
+ +dropdown-menu-link-item(href=settings.adminUrl) Switch to Admin
|
|
|
if canDisplaySplitTestMenu
|
|
|
- li
|
|
|
- a(href='/admin/split-test') Manage Feature Flags
|
|
|
+ +dropdown-menu-link-item(href='/admin/split-test') Manage Feature Flags
|
|
|
if canDisplaySurveyMenu
|
|
|
- li
|
|
|
- a(href='/admin/survey') Manage Surveys
|
|
|
+ +dropdown-menu-link-item(href='/admin/survey') Manage Surveys
|
|
|
if canDisplayScriptLogMenu
|
|
|
- li
|
|
|
- a(href='/admin/script-logs') View Script Logs
|
|
|
+ +dropdown-menu-link-item(href='/admin/script-logs') View Script Logs
|
|
|
|
|
|
// loop over header_extras
|
|
|
each item in nav.header_extras
|
|
|
@@ -92,8 +83,8 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
if ((item.only_when_logged_in && getSessionUser())
|
|
|
|| (item.only_when_logged_out && (!getSessionUser()))
|
|
|
|| (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages)
|
|
|
- || (item.only_content_pages && (typeof (suppressNavContentLinks) == "undefined" || !suppressNavContentLinks))
|
|
|
- ) {
|
|
|
+ || (item.only_content_pages && (typeof suppressNavContentLinks === "undefined" || !suppressNavContentLinks))
|
|
|
+ ){
|
|
|
var showNavItem = true
|
|
|
} else {
|
|
|
var showNavItem = false
|
|
|
@@ -101,53 +92,52 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
|
|
|
if showNavItem
|
|
|
if item.dropdown
|
|
|
- li.dropdown(class=item.class)
|
|
|
- a.dropdown-toggle(
|
|
|
- href='#'
|
|
|
- role='button'
|
|
|
+ +nav-item.dropdown(class=item.class)
|
|
|
+ button.dropdown-toggle(
|
|
|
aria-haspopup='true'
|
|
|
aria-expanded='false'
|
|
|
- data-toggle='dropdown'
|
|
|
+ data-bs-toggle='dropdown'
|
|
|
+ role='menuitem'
|
|
|
event-tracking='menu-expand'
|
|
|
event-tracking-mb='true'
|
|
|
event-tracking-trigger='click'
|
|
|
event-segmentation={item: item.trackingKey, location: 'top-menu'}
|
|
|
)
|
|
|
| !{translate(item.text)}
|
|
|
- span.caret
|
|
|
- ul.dropdown-menu
|
|
|
+ +dropdown-menu.dropdown-menu-end
|
|
|
each child in item.dropdown
|
|
|
if child.divider
|
|
|
- li.divider
|
|
|
+ +dropdown-menu-divider
|
|
|
else if child.isContactUs
|
|
|
- li
|
|
|
- a(
|
|
|
- data-ol-open-contact-form-modal='contact-us'
|
|
|
- href
|
|
|
+ +dropdown-menu-link-item(
|
|
|
+ data-ol-open-contact-form-modal='contact-us'
|
|
|
+ data-bs-target='#contactUsModal'
|
|
|
+ href
|
|
|
+ data-bs-toggle='modal'
|
|
|
+ event-tracking='menu-click'
|
|
|
+ event-tracking-mb='true'
|
|
|
+ event-tracking-trigger='click'
|
|
|
+ event-segmentation={item: 'contact', location: 'top-menu'}
|
|
|
+ )
|
|
|
+ span
|
|
|
+ | #{translate("contact_us")}
|
|
|
+ else
|
|
|
+ if child.url
|
|
|
+ +dropdown-menu-link-item(
|
|
|
+ href=child.url
|
|
|
+ class=child.class
|
|
|
event-tracking='menu-click'
|
|
|
event-tracking-mb='true'
|
|
|
event-tracking-trigger='click'
|
|
|
- event-segmentation={item: 'contact', location: 'top-menu'}
|
|
|
- )
|
|
|
- span
|
|
|
- | #{translate("contact_us")}
|
|
|
- else
|
|
|
- li
|
|
|
- if child.url
|
|
|
- a(
|
|
|
- href=child.url
|
|
|
- class=child.class
|
|
|
- event-tracking='menu-click'
|
|
|
- event-tracking-mb='true'
|
|
|
- event-tracking-trigger='click'
|
|
|
- event-segmentation={item: item.trackingKey, location: 'top-menu'}
|
|
|
- ) !{translate(child.text)}
|
|
|
- else
|
|
|
+ event-segmentation={item: child.trackingKey, location: 'top-menu'}
|
|
|
+ ) !{translate(child.text)}
|
|
|
+ else
|
|
|
+ +dropdown-menu-item
|
|
|
| !{translate(child.text)}
|
|
|
else
|
|
|
- li(class=item.class)
|
|
|
+ +nav-item(class=item.class)
|
|
|
if item.url
|
|
|
- a(
|
|
|
+ +nav-link(
|
|
|
href=item.url
|
|
|
class=item.class
|
|
|
event-tracking='menu-click'
|
|
|
@@ -162,8 +152,8 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
if !getSessionUser()
|
|
|
// register link
|
|
|
if hasFeature('registration-page')
|
|
|
- li.primary
|
|
|
- a(
|
|
|
+ +nav-item.primary
|
|
|
+ +nav-link(
|
|
|
href='/register'
|
|
|
event-tracking='menu-click'
|
|
|
event-tracking-action='clicked'
|
|
|
@@ -173,8 +163,8 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
) #{translate('sign_up')}
|
|
|
|
|
|
// login link
|
|
|
- li
|
|
|
- a(
|
|
|
+ +nav-item
|
|
|
+ +nav-link(
|
|
|
href='/login'
|
|
|
event-tracking='menu-click'
|
|
|
event-tracking-action='clicked'
|
|
|
@@ -185,33 +175,38 @@ nav.navbar.navbar-default.navbar-main(
|
|
|
|
|
|
// projects link and account menu
|
|
|
if getSessionUser()
|
|
|
- li
|
|
|
- a(href='/project') #{translate('Projects')}
|
|
|
- li.dropdown
|
|
|
- a.dropdown-toggle(
|
|
|
- href='#'
|
|
|
- role='button'
|
|
|
+ +nav-item
|
|
|
+ +nav-link(href='/project') #{translate('Projects')}
|
|
|
+ +nav-item.dropdown
|
|
|
+ button.dropdown-toggle(
|
|
|
aria-haspopup='true'
|
|
|
aria-expanded='false'
|
|
|
- data-toggle='dropdown'
|
|
|
+ data-bs-toggle='dropdown'
|
|
|
+ role='menuitem'
|
|
|
event-tracking='menu-expand'
|
|
|
event-tracking-mb='true'
|
|
|
event-tracking-trigger='click'
|
|
|
event-segmentation={item: 'account', location: 'top-menu'}
|
|
|
)
|
|
|
| #{translate('Account')}
|
|
|
- span.caret
|
|
|
- ul.dropdown-menu
|
|
|
- li
|
|
|
- .subdued #{getSessionUser().email}
|
|
|
- li.divider.hidden-xs.hidden-sm
|
|
|
- li
|
|
|
- a(href='/user/settings') #{translate('account_settings')}
|
|
|
+ +dropdown-menu.dropdown-menu-end
|
|
|
+ +dropdown-menu-item
|
|
|
+ .disabled.dropdown-item #{getSessionUser().email}
|
|
|
+ +dropdown-menu-divider
|
|
|
+ +dropdown-menu-link-item(href='/user/settings') #{translate('account_settings')}
|
|
|
if nav.showSubscriptionLink
|
|
|
- li
|
|
|
- a(href='/user/subscription') #{translate('subscription')}
|
|
|
- li.divider.hidden-xs.hidden-sm
|
|
|
- li
|
|
|
- form(method='POST' action='/logout')
|
|
|
+ +dropdown-menu-link-item(href='/user/subscription') #{translate('subscription')}
|
|
|
+ +dropdown-menu-divider
|
|
|
+ +dropdown-menu-item
|
|
|
+ //-
|
|
|
+ The button is outside the form but still belongs to it via the form attribute. The reason to do
|
|
|
+ this is that if the button is inside the form, screen readers will not count it in the total
|
|
|
+ number of menu items.
|
|
|
+ button.btn-link.text-left.dropdown-menu-button.dropdown-item(
|
|
|
+ role='menuitem'
|
|
|
+ tabindex='-1'
|
|
|
+ form='logOutForm'
|
|
|
+ )
|
|
|
+ | #{translate('log_out')}
|
|
|
+ form(method='POST' action='/logout' id='logOutForm')
|
|
|
input(name='_csrf' type='hidden' value=csrfToken)
|
|
|
- button.btn-link.text-left.dropdown-menu-button #{translate('log_out')}
|