[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 {
actions: {
revokeUserAccessToken: (tokenId: string) => Promise<ActionFunc | ActionResult> | ActionFunc | ActionResult;
revokeUserAccessToken: (
tokenId: string
) => Promise<ActionFunc | ActionResult> | ActionFunc | ActionResult;
};
tokenId: string;
onError: (errorMessage: string) => void;
}
export default class RevokeTokenButton extends React.PureComponent<RevokeTokenButtonProps> {
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 (
<button
type='button'
className='btn btn-danger'
onClick={this.handleClick}
>
<FormattedMessage
id='admin.revoke_token_button.delete'
defaultMessage='Delete'
/>
</button>
);
}
}
return (
<button
type='button'
className='btn btn-danger'
onClick={handleClick}
>
<FormattedMessage
id='admin.revoke_token_button.delete'
defaultMessage='Delete'
/>
</button>
);
};
export default React.memo(RevokeTokenButton);