diff --git a/blocks/header/header.js b/blocks/header/header.js index 769309475..27b8b8a43 100644 --- a/blocks/header/header.js +++ b/blocks/header/header.js @@ -11,6 +11,7 @@ import { loadFragment } from '../fragment/fragment.js'; import renderAuthCombine from './renderAuthCombine.js'; import { renderAuthDropdown } from './renderAuthDropdown.js'; +import { parseUrlHashTags, removeLink } from '../../scripts/hashTagParser.js'; // media query match that indicates mobile/tablet width const isDesktop = window.matchMedia('(min-width: 900px)'); @@ -326,6 +327,20 @@ export default async function decorate(block) { navWrapper.append(nav); block.append(navWrapper); + parseUrlHashTags( + 'nav', + (el, namespace, value) => { + if (namespace === 'display_for_') { + if (value === 'desktop_only' && !isDesktop.matches) { + removeLink(el); + } + if (value === 'mobile_only' && isDesktop.matches) { + removeLink(el); + } + } + }, + ); + renderAuthCombine( navSections, () => !isDesktop.matches && toggleMenu(nav, navSections, false), diff --git a/blocks/targeted-block/targeted-block.js b/blocks/targeted-block/targeted-block.js index 870d791cb..29089a568 100644 --- a/blocks/targeted-block/targeted-block.js +++ b/blocks/targeted-block/targeted-block.js @@ -66,9 +66,10 @@ const updateTargetedBlocksVisibility = async () => { parseUrlHashTags( 'main', (el, namespace, value) => { + const segments = activeRules.customerSegments.map((s) => s.name.toLowerCase()); if (value.startsWith('segment')) { - const [prefix, segmentToMatch] = [...value.split('_')]; - if (!activeRules.customerSegments.map((segment) => segment.name).includes(segmentToMatch)) { + const [_prefix, segment] = [...value.split('_')]; + if (!segments.includes(segment.toLowerCase())) { hideLink(el); } else { showLink(el);