From b4b1b67cb37ba0947b5b3e0d66cf268d62da6534 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Tue, 20 May 2025 22:59:23 +0200 Subject: [PATCH 1/5] DEV: allows to pass `@currentWhen` to `NavItem` Some cases are more complex than the default behavior of `this.router.isActive(this.args.route)`, in this case you can give a function as `@currentWhen` to your `NavItem` component. Example: ``` @action isItCurrent(route) { return true; } ``` No test as I can't write a component test for this as it relies on the router. --- .../admin/addon/components/admin-badges.gjs | 9 +++++++++ .../discourse/app/components/nav-item.gjs | 14 ++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/admin/addon/components/admin-badges.gjs b/app/assets/javascripts/admin/addon/components/admin-badges.gjs index 385bedad4fbec..ff7c0d277e66a 100644 --- a/app/assets/javascripts/admin/addon/components/admin-badges.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-badges.gjs @@ -27,6 +27,14 @@ export default class AdminBadges extends Component { }); } + @action + activeBadges(currentRoute) { + return ( + currentRoute.name === "adminBadges.index" || + currentRoute.name === "adminBadges.show" + ); + } + From bbb59cadf0e986807151afe5cb95de1442253647 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Tue, 20 May 2025 23:07:31 +0200 Subject: [PATCH 2/5] mistake --- app/assets/javascripts/discourse/app/components/nav-item.gjs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/app/assets/javascripts/discourse/app/components/nav-item.gjs b/app/assets/javascripts/discourse/app/components/nav-item.gjs index b42eecd64dacc..64751b96386ec 100644 --- a/app/assets/javascripts/discourse/app/components/nav-item.gjs +++ b/app/assets/javascripts/discourse/app/components/nav-item.gjs @@ -67,10 +67,7 @@ export default class NavItem extends Component { @current-when={{this.active}} >{{this.contents}} {{else}} - {{this.contents}} + {{this.contents}} {{/if}} From ad7a37a11002c332c45f1757d05aa09809356fc5 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 21 May 2025 00:00:01 +0200 Subject: [PATCH 3/5] mimic current-when --- .../admin/addon/components/admin-badges.gjs | 10 +--------- .../discourse/app/components/nav-item.gjs | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/admin/addon/components/admin-badges.gjs b/app/assets/javascripts/admin/addon/components/admin-badges.gjs index ff7c0d277e66a..9680c7c0227fd 100644 --- a/app/assets/javascripts/admin/addon/components/admin-badges.gjs +++ b/app/assets/javascripts/admin/addon/components/admin-badges.gjs @@ -27,14 +27,6 @@ export default class AdminBadges extends Component { }); } - @action - activeBadges(currentRoute) { - return ( - currentRoute.name === "adminBadges.index" || - currentRoute.name === "adminBadges.show" - ); - } -