diff --git a/src/components/Table/Table.tsx b/src/components/Table/Table.tsx index 09eb629c747017780e955d2e55181c3d0ed8fe6f..157b72896aea57e98df4683667a6346fa7dcbe1c 100644 --- a/src/components/Table/Table.tsx +++ b/src/components/Table/Table.tsx @@ -148,26 +148,28 @@ export const Table = <T extends Record<string, unknown>>({ ); }) ) : ( - <td colSpan={4} className="py-24"> - <div className="flex flex-col justify-center items-center"> - <div className="flex justify-center items-center border border-transparent text-base font-medium rounded-md text-white transition ease-in-out duration-150"> - <svg - className="animate-spin h-6 w-6 text-primary" - xmlns="http://www.w3.org/2000/svg" - fill="none" - viewBox="0 0 24 24" - > - <circle className="opacity-50" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4" /> - <path - className="opacity-100" - fill="currentColor" - d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" - /> - </svg> + <tr> + <td colSpan={4} className="py-24"> + <div className="flex flex-col justify-center items-center"> + <div className="flex justify-center items-center border border-transparent text-base font-medium rounded-md text-white transition ease-in-out duration-150"> + <svg + className="animate-spin h-6 w-6 text-primary" + xmlns="http://www.w3.org/2000/svg" + fill="none" + viewBox="0 0 24 24" + > + <circle className="opacity-50" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4" /> + <path + className="opacity-100" + fill="currentColor" + d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" + /> + </svg> + </div> + <p className="text-sm text-primary-600 mt-2">Loading users</p> </div> - <p className="text-sm text-primary-600 mt-2">Loading users</p> - </div> - </td> + </td> + </tr> )} </tbody> </table> diff --git a/src/services/users/redux/actions.ts b/src/services/users/redux/actions.ts index 67be7eee4097a6b3287cd966c36a058d3153696e..79b409bfd0a48709a8c07b75fc90a5677515b739 100644 --- a/src/services/users/redux/actions.ts +++ b/src/services/users/redux/actions.ts @@ -1,5 +1,6 @@ import { Dispatch } from 'redux'; import { showToast, ToastType } from 'src/common/util/show-toast'; +import { State } from 'src/redux/types'; import { performApiCall } from 'src/services/api'; import { AuthActionTypes } from 'src/services/auth'; import { transformRequestUser, transformUser } from '../transformations'; @@ -68,9 +69,11 @@ export const fetchUserById = (id: string) => async (dispatch: Dispatch<any>) => dispatch(setUserModalLoading(false)); }; -export const updateUserById = (user: any) => async (dispatch: Dispatch<any>) => { +export const updateUserById = (user: any) => async (dispatch: Dispatch<any>, getState: any) => { dispatch(setUserModalLoading(true)); + const state: State = getState(); + try { const { data } = await performApiCall({ path: `/users/${user.id}`, @@ -83,10 +86,12 @@ export const updateUserById = (user: any) => async (dispatch: Dispatch<any>) => payload: transformUser(data), }); - dispatch({ - type: AuthActionTypes.UPDATE_AUTH_USER, - payload: transformUser(data), - }); + if (state.auth.userInfo.id === user.id) { + dispatch({ + type: AuthActionTypes.UPDATE_AUTH_USER, + payload: transformUser(data), + }); + } showToast('User updated successfully.', ToastType.Success);