From e229af7ff4a1c430f6b8b00c43d2d215b2341667 Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Sat, 16 Sep 2023 02:27:31 +0530 Subject: [PATCH 1/8] Make manager bugs fixed --- src/Pages/Team/partials/TeamForm.tsx | 2 - .../MembersDetails/Members.module.scss | 12 +- src/components/MembersDetails/index.tsx | 105 ++++++++---------- 3 files changed, 56 insertions(+), 63 deletions(-) diff --git a/src/Pages/Team/partials/TeamForm.tsx b/src/Pages/Team/partials/TeamForm.tsx index 8be3c10..0c14bc1 100644 --- a/src/Pages/Team/partials/TeamForm.tsx +++ b/src/Pages/Team/partials/TeamForm.tsx @@ -155,8 +155,6 @@ const TeamForm = (props: TeamFormProps) => { -
-
diff --git a/src/components/MembersDetails/Members.module.scss b/src/components/MembersDetails/Members.module.scss index af5b7b4..d140b60 100644 --- a/src/components/MembersDetails/Members.module.scss +++ b/src/components/MembersDetails/Members.module.scss @@ -2,8 +2,7 @@ display: flex; justify-content: space-between; align-items: center; - - margin-top: 5%; + margin-top: 4%; } .participant-detail { @@ -26,3 +25,12 @@ .remove-logo { cursor: pointer; } + +.personIcon { + > div { + > div[role='tooltip']:nth-child(2) { + background-color: #e6f1ff !important; + color: #0276fe !important; + } + } +} diff --git a/src/components/MembersDetails/index.tsx b/src/components/MembersDetails/index.tsx index b7b1cf5..db2d1cd 100644 --- a/src/components/MembersDetails/index.tsx +++ b/src/components/MembersDetails/index.tsx @@ -5,7 +5,7 @@ import { Avatar, Typography, Tag } from '@navi/web-ui/lib/primitives'; import styles from './Members.module.scss'; import { toast } from '@navi/web-ui/lib/primitives/Toast'; import { ApiService } from '@src/services/api'; -import { ModalDialog } from '@navi/web-ui/lib/primitives'; +import { ModalDialog, Tooltip } from '@navi/web-ui/lib/primitives'; import { useAuthData } from './UseAuthHook'; import PersonIcon from '@src/assets/PersonIcon'; import ManagerIcon from '@src/assets/ManagerIcon'; @@ -23,7 +23,7 @@ const MembersDetails = (props: any) => { const totalMembers = data?.participants?.length; const [showTotalMembers, setShowTotalMembers] = useState(10); const [showRemoveButton, setShowRemoveButton] = useState(false); - const [open, setOpen] = useState(false); + const [open, setOpen] = useState(null); const fetchSingleTeamData = teamId => { const fetchTeamDataEndpoint = FETCH_SINGLE_TEAM_DATA(teamId); @@ -65,9 +65,7 @@ const MembersDetails = (props: any) => { }; const handleMakeManager = (teamId, slackUserId) => { - setOpen(false); const endpoint = MAKE_MANAGER(teamId, slackUserId); - ApiService.patch(endpoint, {}) .then(response => { if (response.status === 200) { @@ -82,11 +80,11 @@ const MembersDetails = (props: any) => { `Error making ${slackUserId} a manager in team ${teamId}: ${error.message}`, ); }); + setOpen(null); }; const userData = JSON.parse(localStorage.getItem('user-data') || '{}'); const userRoles = useAuthData(); - console.log('userRoles', userRoles); const managerEmail = data?.participants?.find( participant => participant.id === data.managerId, @@ -115,6 +113,7 @@ const MembersDetails = (props: any) => { >
{' '} +    {participant?.name} {totalMembers > 10 && index === showTotalMembers - 1 ? ( totalMembers !== showTotalMembers ? ( @@ -136,62 +135,48 @@ const MembersDetails = (props: any) => {
-
+
{showRemoveButton && !(participant.email === managerEmail) && ( -
- +
+ + setOpen(participant.id)} + /> + + + Teams can only have 1 manager. The current + manager will be changed to a member + + +
)} - {showRemoveButton && - !(participant.email === managerEmail) && ( - <> - setOpen(true)} /> - - - Teams can only have 1 manager. The current manager - will be changed to a member - - - - )}
- {showRemoveButton && - !(participant.email === managerEmail) && ( -
- -
- )} {participant.email === managerEmail && }
@@ -199,11 +184,13 @@ const MembersDetails = (props: any) => { !(participant.email === managerEmail) && ( <>      - - handleRemoveUser(data.id, participant.id) - } - /> + + + handleRemoveUser(data.id, participant.id) + } + /> +           )} From cd705af500fbc75c7be8663ac528b48564001e3a Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Sat, 16 Sep 2023 02:38:24 +0530 Subject: [PATCH 2/8] TP-40800 | Make manager bugs fixed --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 13e7b9c..0af93d9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ yarn-error.log* # configuration files config.js config.qa.js +confg.dev.js yarn.lock package.lock.json \ No newline at end of file From 8ec13e340ed556a1ebe1e3545c8ef23285e55d9d Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Mon, 18 Sep 2023 15:57:31 +0530 Subject: [PATCH 3/8] margin adjusted --- src/components/MembersDetails/Members.module.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MembersDetails/Members.module.scss b/src/components/MembersDetails/Members.module.scss index d140b60..2363c8f 100644 --- a/src/components/MembersDetails/Members.module.scss +++ b/src/components/MembersDetails/Members.module.scss @@ -2,7 +2,7 @@ display: flex; justify-content: space-between; align-items: center; - margin-top: 4%; + margin-top: 3%; } .participant-detail { From c02d948c4698728a9434667af22a11879d0561af Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Tue, 19 Sep 2023 11:05:22 +0530 Subject: [PATCH 4/8] TP-40800 | CODEOWNERS file added --- CODEOWNERS | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 CODEOWNERS diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..e69de29 From fbc972ce6cf4b42ef1fd1856d02d15a726a78ce9 Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Tue, 19 Sep 2023 11:37:04 +0530 Subject: [PATCH 5/8] TP-40800 | CODEOWNERS file content --- CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index e69de29..4451901 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -0,0 +1,4 @@ +@ajay-devarakonda_navi +@shashank-shekhar_navi +@sriram-bhargav_navi +@k-kamalakannan_navi From 4726b8c03866efbda993774891f7572d84d4eb8e Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Tue, 19 Sep 2023 13:04:25 +0530 Subject: [PATCH 6/8] TP-40800 | remove tooptip pos changed and make manager pointer removed --- src/components/MembersDetails/index.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/MembersDetails/index.tsx b/src/components/MembersDetails/index.tsx index db2d1cd..41cbc68 100644 --- a/src/components/MembersDetails/index.tsx +++ b/src/components/MembersDetails/index.tsx @@ -141,7 +141,11 @@ const MembersDetails = (props: any) => { {showRemoveButton && !(participant.email === managerEmail) && (
- + setOpen(participant.id)} /> @@ -184,7 +188,7 @@ const MembersDetails = (props: any) => { !(participant.email === managerEmail) && ( <>      - + handleRemoveUser(data.id, participant.id) From df1638d76a0f9028341ecd0adc1eeeaadbf6c6d6 Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Tue, 19 Sep 2023 15:17:35 +0530 Subject: [PATCH 7/8] TP-40800 | minor fixes --- src/components/MembersDetails/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/MembersDetails/index.tsx b/src/components/MembersDetails/index.tsx index 41cbc68..fb5d3b5 100644 --- a/src/components/MembersDetails/index.tsx +++ b/src/components/MembersDetails/index.tsx @@ -44,6 +44,7 @@ const MembersDetails = (props: any) => { }`; toast.error(toastMessage); }); + setOpen(null); }; const handleRemoveUser = (teamId, slackUserId) => { @@ -62,6 +63,7 @@ const MembersDetails = (props: any) => { `Error removing ${slackUserId} from team ${teamId}: ${error.message}`, ); }); + setOpen(null); }; const handleMakeManager = (teamId, slackUserId) => { @@ -98,7 +100,7 @@ const MembersDetails = (props: any) => { } else { setShowRemoveButton(false); } - }, [data, userRoles]); + }, [data, userRoles, open]); return (
@@ -162,6 +164,7 @@ const MembersDetails = (props: any) => { label: 'Change Manager', onClick: function noRefCheck() { handleMakeManager(data.id, open); + setOpen(null); }, }, ]} From 4c45900421391b0e4bb0593f38da43eefb8caf21 Mon Sep 17 00:00:00 2001 From: AyushRanjan Date: Wed, 20 Sep 2023 11:26:59 +0530 Subject: [PATCH 8/8] TP-40800 | make manager bug fix --- .../MembersDetails/Members.module.scss | 6 +++ src/components/MembersDetails/index.tsx | 50 +++++++++++++------ 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/src/components/MembersDetails/Members.module.scss b/src/components/MembersDetails/Members.module.scss index 2363c8f..1efa791 100644 --- a/src/components/MembersDetails/Members.module.scss +++ b/src/components/MembersDetails/Members.module.scss @@ -34,3 +34,9 @@ } } } + +.loader-container { + display: flex; + justify-content: center; + align-items: center; +} diff --git a/src/components/MembersDetails/index.tsx b/src/components/MembersDetails/index.tsx index fb5d3b5..7c59398 100644 --- a/src/components/MembersDetails/index.tsx +++ b/src/components/MembersDetails/index.tsx @@ -10,6 +10,7 @@ import { useAuthData } from './UseAuthHook'; import PersonIcon from '@src/assets/PersonIcon'; import ManagerIcon from '@src/assets/ManagerIcon'; import { CloseIcon } from '@navi/web-ui/lib/icons'; +import LoadingIcon from '@navi/web-ui/lib/icons/LoadingIcon'; import { REMOVE_TEAM_MEMBER, @@ -23,7 +24,9 @@ const MembersDetails = (props: any) => { const totalMembers = data?.participants?.length; const [showTotalMembers, setShowTotalMembers] = useState(10); const [showRemoveButton, setShowRemoveButton] = useState(false); - const [open, setOpen] = useState(null); + const [open, setOpen] = useState(false); + const [selectedParticipantId, setSelectedParticipantId] = useState('0'); + const [isLoading, setIsLoading] = useState(false); const fetchSingleTeamData = teamId => { const fetchTeamDataEndpoint = FETCH_SINGLE_TEAM_DATA(teamId); @@ -32,8 +35,10 @@ const MembersDetails = (props: any) => { if (response.status === 200) { const updatedData = response?.data?.data; setData(updatedData); + setIsLoading(false); } else { toast.error(response.data.error.message); + setIsLoading(false); } }) .catch(error => { @@ -44,7 +49,6 @@ const MembersDetails = (props: any) => { }`; toast.error(toastMessage); }); - setOpen(null); }; const handleRemoveUser = (teamId, slackUserId) => { @@ -53,6 +57,8 @@ const MembersDetails = (props: any) => { .then(response => { if (response.status === 200) { toast.success(response.data.data); + setIsLoading(true); + setData([]); fetchSingleTeamData(teamId); } else { toast.error(response.data.error.message); @@ -63,15 +69,17 @@ const MembersDetails = (props: any) => { `Error removing ${slackUserId} from team ${teamId}: ${error.message}`, ); }); - setOpen(null); }; - const handleMakeManager = (teamId, slackUserId) => { + const handleMakeManager = teamId => { + const slackUserId = selectedParticipantId; const endpoint = MAKE_MANAGER(teamId, slackUserId); ApiService.patch(endpoint, {}) .then(response => { if (response.status === 200) { toast.success(response.data.data); + setIsLoading(true); + setData([]); fetchSingleTeamData(teamId); } else { toast.error(response.data.error.message); @@ -82,7 +90,11 @@ const MembersDetails = (props: any) => { `Error making ${slackUserId} a manager in team ${teamId}: ${error.message}`, ); }); - setOpen(null); + }; + + const handleOpenModal = participantId => { + setSelectedParticipantId(participantId); + setOpen(true); }; const userData = JSON.parse(localStorage.getItem('user-data') || '{}'); @@ -102,6 +114,14 @@ const MembersDetails = (props: any) => { } }, [data, userRoles, open]); + if (isLoading) { + return ( +
+ +
+ ); + } + return (
{totalMembers ? ( @@ -149,29 +169,29 @@ const MembersDetails = (props: any) => { withPointer={false} > setOpen(participant.id)} + onClick={() => { + handleOpenModal(participant.id); + }} /> { + setOpen(false); }, }, { label: 'Change Manager', - onClick: function noRefCheck() { - handleMakeManager(data.id, open); - setOpen(null); + onClick: () => { + setOpen(false); + handleMakeManager(data.id); }, }, ]} header="Are you sure you want to make this member a manager ?" - onClose={function noRefCheck() { - setOpen(null); - }} + onClose={() => setOpen(false)} > Teams can only have 1 manager. The current