diff --git a/webapp/channels/src/components/admin_console/revoke_token_button/revoke_token_button.tsx b/webapp/channels/src/components/admin_console/revoke_token_button/revoke_token_button.tsx index 576029dd06..fe1be0edef 100644 --- a/webapp/channels/src/components/admin_console/revoke_token_button/revoke_token_button.tsx +++ b/webapp/channels/src/components/admin_console/revoke_token_button/revoke_token_button.tsx @@ -10,36 +10,38 @@ import {trackEvent} from 'actions/telemetry_actions.jsx'; interface RevokeTokenButtonProps { actions: { - revokeUserAccessToken: (tokenId: string) => Promise | ActionFunc | ActionResult; + revokeUserAccessToken: ( + tokenId: string + ) => Promise | ActionFunc | ActionResult; }; tokenId: string; onError: (errorMessage: string) => void; } -export default class RevokeTokenButton extends React.PureComponent { - private handleClick = async (e: React.MouseEvent) => { +const RevokeTokenButton = (props: RevokeTokenButtonProps) => { + const handleClick = async (e: React.MouseEvent) => { 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'); if ('error' in response) { - this.props.onError(response.error.message); + props.onError(response.error.message); } }; - render() { - return ( - - ); - } -} + return ( + + ); +}; + +export default React.memo(RevokeTokenButton);