[FIX] Leave team modal crashing, remove member modal i18n

pull/22224/head^2
gabriellsh 4 years ago committed by GitHub
parent 61980324e6
commit f0cc72b03b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 28
      client/views/teams/contextualBar/info/Leave/index.js
  2. 2
      client/views/teams/contextualBar/members/RemoveUsersModal/RemoveUsersFirstStep.js
  3. 1
      packages/rocketchat-i18n/i18n/en.i18n.json

@ -1,10 +1,11 @@
import { Skeleton } from '@rocket.chat/fuselage';
import React, { useMemo } from 'react';
import React, { useEffect, useCallback } from 'react';
import GenericModal from '../../../../../components/GenericModal';
import { useEndpoint } from '../../../../../contexts/ServerContext';
import { useTranslation } from '../../../../../contexts/TranslationContext';
import { useUserId } from '../../../../../contexts/UserContext';
import { useEndpointData } from '../../../../../hooks/useEndpointData';
import { useAsyncState } from '../../../../../hooks/useAsyncState';
import { AsyncStatePhase } from '../../../../../lib/asyncState';
import LeaveTeamModal from './LeaveTeamModal';
import StepOne from './StepOne';
@ -14,10 +15,23 @@ const LeaveTeamModalWithRooms = ({ teamId, onCancel, onConfirm }) => {
const t = useTranslation();
const userId = useUserId();
const { value, phase } = useEndpointData(
'teams.listRoomsOfUser',
useMemo(() => ({ teamId, userId }), [teamId, userId]),
);
const listRooms = useEndpoint('GET', 'teams.listRoomsOfUser');
const { resolve, reject, reset, phase, value } = useAsyncState([]);
const fetchData = useCallback(() => {
reset();
listRooms({ teamId, userId })
.then(resolve)
.catch((error) => {
console.error(error);
reject(error);
});
}, [reset, listRooms, teamId, userId, resolve, reject]);
useEffect(() => {
fetchData();
}, [fetchData]);
if (phase === AsyncStatePhase.LOADING) {
return (
@ -33,7 +47,7 @@ const LeaveTeamModalWithRooms = ({ teamId, onCancel, onConfirm }) => {
);
}
return <LeaveTeamModal onCancel={onCancel} onConfirm={onConfirm} rooms={value.rooms} />;
return <LeaveTeamModal onCancel={onCancel} onConfirm={onConfirm} rooms={value?.rooms || []} />;
};
export { StepOne, StepTwo };

@ -27,7 +27,7 @@ const RemoveUsersFirstStep = ({
<GenericModal
variant='warning'
icon='warning'
title={t('What would you like to do?')}
title={t('Teams_removing_member')}
cancelText={t('Cancel')}
confirmText={t('Continue')}
onClose={onClose}

@ -3904,6 +3904,7 @@
"Teams_New_Read_only_Description": "All users in this team can write messages",
"Teams_Public_Team": "Public Team",
"Teams_Private_Team": "Private Team",
"Teams_removing_member": "Removing Member",
"Teams_removing__username__from_team": "You are removing __username__ from this Team",
"Teams_removing__username__from_team_and_channels": "You are removing __username__ from this Team and all its Channels.",
"Teams_Select_a_team": "Select a team",

Loading…
Cancel
Save