From 114dc5ad39c0692e707621798250fc8499026299 Mon Sep 17 00:00:00 2001 From: Randy Schott <1815175+schottra@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:47:44 -0400 Subject: [PATCH 1/3] fix some invite status issues --- .../ManagerMode/AccountsManagingYouHomePage.tsx | 6 +++++- .../desktop/ManagerMode/AccountsYouManageHomePage.tsx | 4 +++- .../ManagerMode/AccountsYouManageSettingsCard.tsx | 11 ++++------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx index 2a74dd562cb..71496316915 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx @@ -31,7 +31,11 @@ export const AccountsManagingYouHomePage = ( const { toast } = useContext(ToastContext) const [removeManager, removeResult] = useRemoveManager() - const { data: managers, status: managersStatus } = useGetManagers({ userId }) + // Always update manager list when mounting this page + const { data: managers, status: managersStatus } = useGetManagers( + { userId }, + { force: true } + ) const handleRemoveManager = useCallback( (params: { userId: number; managerUserId: number }) => { diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx index 8f493fc89a5..69d6a83e782 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx @@ -34,7 +34,9 @@ export const AccountsYouManageHomePage = ({ const userId = currentUser?.user_id const { data: managedAccounts, status } = useGetManagedAccounts( { userId: userId! }, - { disabled: userId == null } + // Always update managed accounts list when mounting this page + // TODO: This pattern causes a flash on both modals, maybe update it to SWR-style + { disabled: userId == null, force: true } ) const [approveManagedAccount, approveResult] = useApproveManagedAccount() const [rejectManagedAccount, rejectResult] = useRemoveManager() diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageSettingsCard.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageSettingsCard.tsx index 3cb90b2f134..979c5b80b50 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageSettingsCard.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageSettingsCard.tsx @@ -1,8 +1,8 @@ import { useCallback, useEffect, useState } from 'react' import { Button, IconUserArrowRotate } from '@audius/harmony' +import { useLocation } from 'react-router-dom' -import { useHistoryContext } from 'app/HistoryProvider' import { ACCOUNTS_YOU_MANAGE_SETTINGS_PAGE, doesMatchRoute } from 'utils/route' import SettingsCard from '../SettingsCard' @@ -18,17 +18,14 @@ const messages = { export const AccountsYouManageSettingsCard = () => { const [isModalOpen, setIsModalOpen] = useState(false) - const { history } = useHistoryContext() + const location = useLocation() useEffect(() => { - const match = doesMatchRoute( - history.location, - ACCOUNTS_YOU_MANAGE_SETTINGS_PAGE - ) + const match = doesMatchRoute(location, ACCOUNTS_YOU_MANAGE_SETTINGS_PAGE) if (match) { setIsModalOpen(true) } - }, [history.location]) + }, [location]) const handleOpen = useCallback(() => { setIsModalOpen(true) From c56762f0029485068f5e98d865825994dd7562d9 Mon Sep 17 00:00:00 2001 From: Randy Schott <1815175+schottra@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:53:35 -0400 Subject: [PATCH 2/3] Don't flash loading spinner --- .../desktop/ManagerMode/AccountsManagingYouHomePage.tsx | 5 ++++- .../desktop/ManagerMode/AccountsYouManageHomePage.tsx | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx index 71496316915..5d44670a5f2 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsManagingYouHomePage.tsx @@ -36,6 +36,9 @@ export const AccountsManagingYouHomePage = ( { userId }, { force: true } ) + // Don't flash loading spinner if we are refreshing the cache + const isLoading = + managersStatus !== Status.SUCCESS && (!managers || managers.length === 0) const handleRemoveManager = useCallback( (params: { userId: number; managerUserId: number }) => { @@ -76,7 +79,7 @@ export const AccountsManagingYouHomePage = ( - {managersStatus !== Status.SUCCESS ? ( + {isLoading ? ( ({ diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx index 69d6a83e782..ba550f82107 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx @@ -38,6 +38,10 @@ export const AccountsYouManageHomePage = ({ // TODO: This pattern causes a flash on both modals, maybe update it to SWR-style { disabled: userId == null, force: true } ) + // Don't flash loading spinner if we are refreshing the cache + const isLoading = + status !== Status.SUCCESS && + (!managedAccounts || managedAccounts.length === 0) const [approveManagedAccount, approveResult] = useApproveManagedAccount() const [rejectManagedAccount, rejectResult] = useRemoveManager() const { toast } = useContext(ToastContext) @@ -97,7 +101,7 @@ export const AccountsYouManageHomePage = ({ {messages.takeControl}{' '} - {status !== Status.SUCCESS ? ( + {isLoading ? ( ({ From c19b184cdfe023a6f96f2c721ed0913d12d13bf7 Mon Sep 17 00:00:00 2001 From: Randy Schott <1815175+schottra@users.noreply.github.com> Date: Fri, 21 Jun 2024 10:29:23 -0400 Subject: [PATCH 3/3] remove comment --- .../components/desktop/ManagerMode/AccountsYouManageHomePage.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx index ba550f82107..291c023d7a8 100644 --- a/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx +++ b/packages/web/src/pages/settings-page/components/desktop/ManagerMode/AccountsYouManageHomePage.tsx @@ -35,7 +35,6 @@ export const AccountsYouManageHomePage = ({ const { data: managedAccounts, status } = useGetManagedAccounts( { userId: userId! }, // Always update managed accounts list when mounting this page - // TODO: This pattern causes a flash on both modals, maybe update it to SWR-style { disabled: userId == null, force: true } ) // Don't flash loading spinner if we are refreshing the cache