[MM-54821] Convert "revoke_token_button.tsx" from Class Component to Function Component (#24943)

Этот коммит содержится в:
Saakshi Raut
2023-12-11 11:19:46 +05:30
коммит произвёл GitHub
родитель 88bd7b65f0
Коммит 7cd8dbec30

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

@@ -10,36 +10,38 @@ import {trackEvent} from 'actions/telemetry_actions.jsx';
interface RevokeTokenButtonProps { interface RevokeTokenButtonProps {
actions: { actions: {
revokeUserAccessToken: (tokenId: string) => Promise<ActionFunc | ActionResult> | ActionFunc | ActionResult; revokeUserAccessToken: (
tokenId: string
) => Promise<ActionFunc | ActionResult> | ActionFunc | ActionResult;
}; };
tokenId: string; tokenId: string;
onError: (errorMessage: string) => void; onError: (errorMessage: string) => void;
} }
export default class RevokeTokenButton extends React.PureComponent<RevokeTokenButtonProps> { const RevokeTokenButton = (props: RevokeTokenButtonProps) => {
private handleClick = async (e: React.MouseEvent) => { const handleClick = async (e: React.MouseEvent) => {
e.preventDefault(); e.preventDefault();
const response = await this.props.actions.revokeUserAccessToken(this.props.tokenId); const response = await props.actions.revokeUserAccessToken(props.tokenId);
trackEvent('system_console', 'revoke_user_access_token'); trackEvent('system_console', 'revoke_user_access_token');
if ('error' in response) { if ('error' in response) {
this.props.onError(response.error.message); props.onError(response.error.message);
} }
}; };
render() { return (
return ( <button
<button type='button'
type='button' className='btn btn-danger'
className='btn btn-danger' onClick={handleClick}
onClick={this.handleClick} >
> <FormattedMessage
<FormattedMessage id='admin.revoke_token_button.delete'
id='admin.revoke_token_button.delete' defaultMessage='Delete'
defaultMessage='Delete' />
/> </button>
</button> );
); };
}
} export default React.memo(RevokeTokenButton);