[MM-57712] Convert ./components/post_deleted_modal.tsx from Class Component to Function Component (#26731)

* [MM-57712] Convert `./components/post_deleted_modal.tsx` from Class Component to Function Component

* 🎨 Improve code quality

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
Syed Ali Abbas Zaidi
2024-04-15 12:46:32 +05:00
коммит произвёл GitHub
родитель 870cee30c6
Коммит bca4535150

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

@@ -1,7 +1,7 @@
// 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 React, {useState, memo, useCallback} from 'react';
import {Modal} from 'react-bootstrap'; import {Modal} from 'react-bootstrap';
import {FormattedMessage} from 'react-intl'; import {FormattedMessage} from 'react-intl';
@@ -9,30 +9,19 @@ type Props = {
onExited: () => void; onExited: () => void;
} }
type State = { const PostDeletedModal = ({
show: boolean; onExited,
} }: Props) => {
const [show, setShow] = useState(true);
export default class PostDeletedModal extends React.PureComponent<Props, State> { const handleHide = useCallback(() => setShow(false), []);
constructor(props: Props) {
super(props);
this.state = {
show: true,
};
}
private handleHide = () => {
this.setState({show: false});
};
public render(): JSX.Element {
return ( return (
<Modal <Modal
dialogClassName='a11y__modal' dialogClassName='a11y__modal'
show={this.state.show} show={show}
onHide={this.handleHide} onHide={handleHide}
onExited={this.props.onExited} onExited={onExited}
role='dialog' role='dialog'
aria-labelledby='postDeletedModalLabel' aria-labelledby='postDeletedModalLabel'
data-testid='postDeletedModal' data-testid='postDeletedModal'
@@ -61,7 +50,7 @@ export default class PostDeletedModal extends React.PureComponent<Props, State>
type='button' type='button'
className='btn btn-primary' className='btn btn-primary'
autoFocus={true} autoFocus={true}
onClick={this.handleHide} onClick={handleHide}
data-testid='postDeletedModalOkButton' data-testid='postDeletedModalOkButton'
> >
<FormattedMessage <FormattedMessage
@@ -72,5 +61,6 @@ export default class PostDeletedModal extends React.PureComponent<Props, State>
</Modal.Footer> </Modal.Footer>
</Modal> </Modal>
); );
} };
}
export default memo(PostDeletedModal);