[MM-56005] Convert ./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx from Class Component to Function Component (#25646)

* [MM-56005] Convert `./components/admin_console/permission_schemes_settings/permission_team_scheme_settings/team_in_list/team_in_list.tsx` from Class Component to Function Component

* refactor: use classNames to apply class

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Syed Ali Abbas Zaidi
2023-12-08 19:37:09 +05:00
коммит произвёл GitHub
родитель a11b27d1f2
Коммит 7afc14de36

Просмотреть файл

@@ -1,7 +1,8 @@
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information. // See LICENSE.txt for license information.
import React from 'react'; import classNames from 'classnames';
import React, {memo, useCallback} from 'react';
import {FormattedMessage} from 'react-intl'; import {FormattedMessage} from 'react-intl';
import type {Team} from '@mattermost/types/teams'; import type {Team} from '@mattermost/types/teams';
@@ -16,41 +17,43 @@ type Props = {
isDisabled: boolean; isDisabled: boolean;
} }
export default class TeamInList extends React.PureComponent<Props> { const TeamInList = ({
handleRemoveTeam = () => { team,
const {team, isDisabled, onRemoveTeam} = this.props; isDisabled,
onRemoveTeam,
}: Props) => {
const handleRemoveTeam = useCallback(() => {
if (isDisabled) { if (isDisabled) {
return; return;
} }
onRemoveTeam(team.id); onRemoveTeam(team.id);
}; }, [isDisabled, team.id, onRemoveTeam]);
render() { return (
const {team, isDisabled} = this.props; <div
return ( className='team'
<div key={team.id}
className='team' >
key={team.id} <div className='team-info-block'>
> <TeamIcon
<div className='team-info-block'> content={team.display_name}
<TeamIcon url={imageURLForTeam(team)}
content={team.display_name} />
url={imageURLForTeam(team)} <div className='team-data'>
/> <div className='title'>{team.display_name}</div>
<div className='team-data'>
<div className='title'>{team.display_name}</div>
</div>
</div> </div>
<a
className={isDisabled ? 'remove disabled' : 'remove'}
onClick={this.handleRemoveTeam}
>
<FormattedMessage
id='admin.permissions.teamScheme.removeTeam'
defaultMessage='Remove'
/>
</a>
</div> </div>
); <a
} className={classNames('remove', {disabled: isDisabled})}
} onClick={handleRemoveTeam}
>
<FormattedMessage
id='admin.permissions.teamScheme.removeTeam'
defaultMessage='Remove'
/>
</a>
</div>
);
};
export default memo(TeamInList);