From 4d78bb3ed13184d0680defc11d7974c5127bc370 Mon Sep 17 00:00:00 2001 From: Belinda Marion Kobusingye <46527380+Codebmk@users.noreply.github.com> Date: Fri, 24 Jan 2025 05:30:47 +0300 Subject: [PATCH] remove duplicate org name matching logic --- .../src/core/hooks/useGetActiveGroupId.jsx | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/platform/src/core/hooks/useGetActiveGroupId.jsx b/platform/src/core/hooks/useGetActiveGroupId.jsx index 3ab1f61849..0ab5dcba4f 100644 --- a/platform/src/core/hooks/useGetActiveGroupId.jsx +++ b/platform/src/core/hooks/useGetActiveGroupId.jsx @@ -1,6 +1,11 @@ import { useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; +const findGroupByOrgName = (groups, orgName) => + groups?.find( + (group) => group.grp_title.toLowerCase() === orgName?.toLowerCase(), + ); + export function useGetActiveGroup() { const [activeGroup, setActiveGroup] = useState(null); const [loading, setLoading] = useState(true); @@ -10,10 +15,9 @@ export function useGetActiveGroup() { useEffect(() => { setLoading(true); - const matchingGroup = userInfo?.groups?.find( - (group) => - group.grp_title.toLowerCase() === - chartData?.organizationName.toLowerCase(), + const matchingGroup = findGroupByOrgName( + userInfo?.groups, + chartData?.organizationName, ); setActiveGroup(matchingGroup); @@ -33,10 +37,9 @@ export function useGetActiveGroup() { // Prioritize stored group if it exists in user's groups if (chartData.organizationName) { - const storedGroupInUserGroups = userInfo.groups.find( - (group) => - group.grp_title.toLowerCase() === - chartData.organizationName.toLowerCase(), + const storedGroupInUserGroups = findGroupByOrgName( + userInfo?.groups, + chartData?.organizationName, ); if (storedGroupInUserGroups) { @@ -51,8 +54,9 @@ export function useGetActiveGroup() { } // Find group matching chart organization name - const matchingGroup = userInfo.groups.find( - (group) => group.grp_title === chartData.organizationName, + const matchingGroup = findGroupByOrgName( + userInfo?.groups, + chartData?.organizationName, ); if (matchingGroup) {