From 57b5dc59a8d1b99cf41aa2a7c8a3903ce01813ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20V=C3=A4nttinen?= Date: Mon, 27 Nov 2023 11:49:38 +0200 Subject: [PATCH] TMS-940: mobile language-nav accessibility fix --- CHANGELOG.MD | 2 ++ models/shared/header.php | 16 +++++++++++++--- partials/shared/header-inner.dust | 22 ++++++++++++++-------- partials/ui/menu/menu-item-simple.dust | 2 +- 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.MD b/CHANGELOG.MD index aedc1463..4d46d69c 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [Unreleased] +- TMS-940: Hide current language on mobile header if only 2 languages in use + ## [1.54.2] - 2023-11-22 - TMS-974: Fix event formatting if only manual events are shown diff --git a/models/shared/header.php b/models/shared/header.php index 2eadf1d5..6cd1ebbf 100644 --- a/models/shared/header.php +++ b/models/shared/header.php @@ -86,9 +86,18 @@ public function language_nav() : ?array { 'hide_empty' => 0, ]; - $languages = pll_the_languages( $args ); + $languages = \pll_the_languages( $args ); $lang_data = [ 'all' => $languages ]; + // If there are two languages, show only one in mobile view + if ( count( $languages ) === 2 ) { + $args['hide_current'] = 1; + $without_current = \pll_the_languages( $args ); + $lang_data_mobile = [ + 'all' => $without_current, + ]; + } + foreach ( $languages as $lang ) { if ( ! empty( $lang['current_lang'] ) ) { $lang_data['current'] = $lang; @@ -99,10 +108,11 @@ public function language_nav() : ?array { } return [ - 'partial' => 'dropdown' === $lang_nav_display + 'partial' => 'dropdown' === $lang_nav_display ? 'ui/menu/language-nav-dropdown' : 'ui/menu/language-nav', - 'links' => $lang_data, + 'links' => $lang_data, + 'links_without_current' => $lang_data_mobile, ]; } diff --git a/partials/shared/header-inner.dust b/partials/shared/header-inner.dust index 538f93c4..9d2d6b13 100644 --- a/partials/shared/header-inner.dust +++ b/partials/shared/header-inner.dust @@ -16,11 +16,17 @@ {/Header.lang_nav_horizontal} {?Header.lang_nav_horizontal} -
+
+ {?Header.language_nav.links_without_current} + {>"ui/menu/language-nav" links=Header.language_nav.links_without_current /} + {:else} + {>"ui/menu/language-nav-dropdown" links=Header.language_nav.links /} + {/Header.language_nav.links_without_current} +
{/Header.lang_nav_horizontal} - {>"ui/menu/language-nav-dropdown" links=Header.language_nav.links /} - {?Header.lang_nav_horizontal} -
+ + {^Header.lang_nav_horizontal} + {>"ui/menu/language-nav-dropdown" links=Header.language_nav.links /} {/Header.lang_nav_horizontal} {^Header.hide_search} @@ -31,7 +37,7 @@ {/Header.has_nav_menu} @@ -41,14 +47,14 @@ {^Header.hide_search}