[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,30 +10,31 @@ 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={this.handleClick} onClick={handleClick}
> >
<FormattedMessage <FormattedMessage
id='admin.revoke_token_button.delete' id='admin.revoke_token_button.delete'
@@ -41,5 +42,6 @@ export default class RevokeTokenButton extends React.PureComponent<RevokeTokenBu
/> />
</button> </button>
); );
} };
}
export default React.memo(RevokeTokenButton);