From 098fe113a763951a36b2767d7f834cf26d6b9d60 Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Mon, 7 Oct 2024 12:12:19 +0800 Subject: [PATCH 1/6] ahmed/DAPI-708/fix-account-switcher-token-creation-bug --- .../components/Tabs/__tests__/tabs.test.tsx | 8 ++++++-- .../dashboard/manage-apps/manage-apps.tsx | 12 +++++------ .../dashboard/manage-dashboard/index.tsx | 20 +++++++++---------- 3 files changed, 21 insertions(+), 19 deletions(-) diff --git a/src/features/dashboard/components/Tabs/__tests__/tabs.test.tsx b/src/features/dashboard/components/Tabs/__tests__/tabs.test.tsx index 0ce93ee66..7e3fc0a2b 100644 --- a/src/features/dashboard/components/Tabs/__tests__/tabs.test.tsx +++ b/src/features/dashboard/components/Tabs/__tests__/tabs.test.tsx @@ -22,7 +22,7 @@ mockUseAppManager.mockImplementation(() => ({ updateCurrentTab: mockUpdateCurrentTab, })); -describe.skip('Dashboard Tabs', () => { +describe('Dashboard Tabs', () => { beforeEach(() => { render(); }); @@ -36,11 +36,12 @@ describe.skip('Dashboard Tabs', () => { it('Should render all tabs properly', () => { const tabs = screen.getAllByRole('tab'); - expect(tabs).toHaveLength(3); + expect(tabs).toHaveLength(4); const registerApplicationTab = screen.getByRole('tab', { name: /register application/i }); const manageApplicationsTab = screen.getByRole('tab', { name: /manage tokens/i }); const manageTokensTab = screen.getByRole('tab', { name: /manage applications/i }); + const registerTokenTab = screen.getByRole('tab', { name: /register tokens/i }); expect(registerApplicationTab).toBeInTheDocument(); expect(registerApplicationTab).toBeVisible(); @@ -50,6 +51,9 @@ describe.skip('Dashboard Tabs', () => { expect(manageTokensTab).toBeInTheDocument(); expect(manageTokensTab).toBeVisible(); + + expect(registerTokenTab).toBeInTheDocument(); + expect(registerTokenTab).toBeVisible(); }); it('Should change the current tab on tabs click', async () => { diff --git a/src/features/dashboard/manage-apps/manage-apps.tsx b/src/features/dashboard/manage-apps/manage-apps.tsx index d7f042052..5376f3f24 100644 --- a/src/features/dashboard/manage-apps/manage-apps.tsx +++ b/src/features/dashboard/manage-apps/manage-apps.tsx @@ -1,5 +1,5 @@ +import React from 'react'; import useAppManager from '@site/src/hooks/useAppManager'; -import React, { useEffect } from 'react'; import AppManagePage from './app-manage-page'; import TokenManagePage from '../manage-tokens/token-manage-page'; import CustomTabs from '@site/src/components/custom-tabs'; @@ -8,11 +8,7 @@ import { TDashboardTab } from '@site/src/contexts/app-manager/app-manager.contex import { translate } from '@docusaurus/Translate'; const AppManagement = () => { - const { getApps, apps, currentTab } = useAppManager(); - - useEffect(() => { - getApps(); - }, [getApps]); + const { apps, currentTab } = useAppManager(); const tabs = [ { @@ -27,7 +23,9 @@ const AppManagement = () => { return (
- +
); }; diff --git a/src/features/dashboard/manage-dashboard/index.tsx b/src/features/dashboard/manage-dashboard/index.tsx index f78d878e5..9adaf46c3 100644 --- a/src/features/dashboard/manage-dashboard/index.tsx +++ b/src/features/dashboard/manage-dashboard/index.tsx @@ -60,12 +60,14 @@ const ManageDashboard = () => { }, [getApps]); useEffect(() => { - if (!apps?.length) { - updateCurrentTab(TDashboardTab.REGISTER_APP); - } else { - updateCurrentTab(TDashboardTab.MANAGE_APPS); + if (currentTab != TDashboardTab.MANAGE_APPS) { + if (!apps?.length) { + updateCurrentTab(TDashboardTab.REGISTER_APP); + } else { + updateCurrentTab(TDashboardTab.MANAGE_APPS); + } } - }, [apps, updateCurrentTab]); + }, [apps, currentTab, updateCurrentTab]); const submit = useCallback( (data) => { @@ -89,12 +91,10 @@ const ManageDashboard = () => { switch (currentTab) { case TDashboardTab.REGISTER_APP: return ; - case TDashboardTab.MANAGE_APPS: + case TDashboardTab.MANAGE_APPS || TDashboardTab.MANAGE_TOKENS: return ; case TDashboardTab.UPDATE_APP: return ; - case TDashboardTab.MANAGE_TOKENS: - return ; case TDashboardTab.REGISTER_TOKENS: return ; default: @@ -113,7 +113,7 @@ const ManageDashboard = () => { { content: translate({ message: 'Dashboard' }), href: locale_Links.dashboard, target: '_self' }, ]; - const tabSecndryLinks = { + const tabSecondaryLinks = { [TDashboardTab.REGISTER_APP]: { content: translate({ message: 'Register application' }), href: locale_Links.dashboard, @@ -131,7 +131,7 @@ const ManageDashboard = () => { }, }; - const breadcrumbsLinks = [...commonLinks, tabSecndryLinks[currentTab]].filter(Boolean); + const breadcrumbsLinks = [...commonLinks, tabSecondaryLinks[currentTab]].filter(Boolean); return ( <> From 1efba98cba85c0056bb60dadecf73b8f73bf5ff9 Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Mon, 7 Oct 2024 12:19:42 +0800 Subject: [PATCH 2/6] fix logical error --- src/features/dashboard/manage-dashboard/index.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/dashboard/manage-dashboard/index.tsx b/src/features/dashboard/manage-dashboard/index.tsx index 9adaf46c3..ba90102b4 100644 --- a/src/features/dashboard/manage-dashboard/index.tsx +++ b/src/features/dashboard/manage-dashboard/index.tsx @@ -60,14 +60,14 @@ const ManageDashboard = () => { }, [getApps]); useEffect(() => { - if (currentTab != TDashboardTab.MANAGE_APPS) { + if (currentTab != TDashboardTab.REGISTER_TOKENS) { if (!apps?.length) { updateCurrentTab(TDashboardTab.REGISTER_APP); } else { updateCurrentTab(TDashboardTab.MANAGE_APPS); } } - }, [apps, currentTab, updateCurrentTab]); + }, [apps, updateCurrentTab]); const submit = useCallback( (data) => { From 9f810183d26d9b5e19e22f841db3978be1993652 Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Mon, 7 Oct 2024 17:24:07 +0800 Subject: [PATCH 3/6] fix error handling --- src/features/dashboard/manage-dashboard/index.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/features/dashboard/manage-dashboard/index.tsx b/src/features/dashboard/manage-dashboard/index.tsx index ba90102b4..06d0b5837 100644 --- a/src/features/dashboard/manage-dashboard/index.tsx +++ b/src/features/dashboard/manage-dashboard/index.tsx @@ -60,7 +60,7 @@ const ManageDashboard = () => { }, [getApps]); useEffect(() => { - if (currentTab != TDashboardTab.REGISTER_TOKENS) { + if (currentTab != TDashboardTab.REGISTER_TOKENS && currentTab != TDashboardTab.UPDATE_APP) { if (!apps?.length) { updateCurrentTab(TDashboardTab.REGISTER_APP); } else { @@ -91,12 +91,14 @@ const ManageDashboard = () => { switch (currentTab) { case TDashboardTab.REGISTER_APP: return ; - case TDashboardTab.MANAGE_APPS || TDashboardTab.MANAGE_TOKENS: + case TDashboardTab.MANAGE_APPS: return ; case TDashboardTab.UPDATE_APP: return ; case TDashboardTab.REGISTER_TOKENS: return ; + case TDashboardTab.MANAGE_TOKENS: + return ; default: return ; } From 9d581585bca4ccc83eab96f0d88e91ac51f8312b Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Tue, 8 Oct 2024 11:21:20 +0800 Subject: [PATCH 4/6] chore: retrigger build From b3e0861c289a2c8b7c449ddc7506da983a9ae151 Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Tue, 8 Oct 2024 11:39:40 +0800 Subject: [PATCH 5/6] remove business logic to check --- src/features/dashboard/manage-dashboard/index.tsx | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/features/dashboard/manage-dashboard/index.tsx b/src/features/dashboard/manage-dashboard/index.tsx index 06d0b5837..e5896e618 100644 --- a/src/features/dashboard/manage-dashboard/index.tsx +++ b/src/features/dashboard/manage-dashboard/index.tsx @@ -60,12 +60,10 @@ const ManageDashboard = () => { }, [getApps]); useEffect(() => { - if (currentTab != TDashboardTab.REGISTER_TOKENS && currentTab != TDashboardTab.UPDATE_APP) { - if (!apps?.length) { - updateCurrentTab(TDashboardTab.REGISTER_APP); - } else { - updateCurrentTab(TDashboardTab.MANAGE_APPS); - } + if (!apps?.length) { + updateCurrentTab(TDashboardTab.REGISTER_APP); + } else { + updateCurrentTab(TDashboardTab.MANAGE_APPS); } }, [apps, updateCurrentTab]); From f8539c0c8ed2a630f0dacad48323504d5912e061 Mon Sep 17 00:00:00 2001 From: muhammad-ahmed Date: Tue, 8 Oct 2024 11:50:46 +0800 Subject: [PATCH 6/6] add business logic --- src/features/dashboard/manage-dashboard/index.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/features/dashboard/manage-dashboard/index.tsx b/src/features/dashboard/manage-dashboard/index.tsx index e5896e618..06d0b5837 100644 --- a/src/features/dashboard/manage-dashboard/index.tsx +++ b/src/features/dashboard/manage-dashboard/index.tsx @@ -60,10 +60,12 @@ const ManageDashboard = () => { }, [getApps]); useEffect(() => { - if (!apps?.length) { - updateCurrentTab(TDashboardTab.REGISTER_APP); - } else { - updateCurrentTab(TDashboardTab.MANAGE_APPS); + if (currentTab != TDashboardTab.REGISTER_TOKENS && currentTab != TDashboardTab.UPDATE_APP) { + if (!apps?.length) { + updateCurrentTab(TDashboardTab.REGISTER_APP); + } else { + updateCurrentTab(TDashboardTab.MANAGE_APPS); + } } }, [apps, updateCurrentTab]);