mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
[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>
This commit is contained in:
parent
870cee30c6
commit
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,68 +9,58 @@ 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 = {
|
return (
|
||||||
show: true,
|
<Modal
|
||||||
};
|
dialogClassName='a11y__modal'
|
||||||
}
|
show={show}
|
||||||
|
onHide={handleHide}
|
||||||
|
onExited={onExited}
|
||||||
|
role='dialog'
|
||||||
|
aria-labelledby='postDeletedModalLabel'
|
||||||
|
data-testid='postDeletedModal'
|
||||||
|
>
|
||||||
|
<Modal.Header closeButton={true}>
|
||||||
|
<Modal.Title
|
||||||
|
componentClass='h1'
|
||||||
|
id='postDeletedModalLabel'
|
||||||
|
>
|
||||||
|
<FormattedMessage
|
||||||
|
id='post_delete.notPosted'
|
||||||
|
defaultMessage='Comment could not be posted'
|
||||||
|
/>
|
||||||
|
</Modal.Title>
|
||||||
|
</Modal.Header>
|
||||||
|
<Modal.Body>
|
||||||
|
<p>
|
||||||
|
<FormattedMessage
|
||||||
|
id='post_delete.someone'
|
||||||
|
defaultMessage='Someone deleted the message on which you tried to post a comment.'
|
||||||
|
/>
|
||||||
|
</p>
|
||||||
|
</Modal.Body>
|
||||||
|
<Modal.Footer>
|
||||||
|
<button
|
||||||
|
type='button'
|
||||||
|
className='btn btn-primary'
|
||||||
|
autoFocus={true}
|
||||||
|
onClick={handleHide}
|
||||||
|
data-testid='postDeletedModalOkButton'
|
||||||
|
>
|
||||||
|
<FormattedMessage
|
||||||
|
id='post_delete.okay'
|
||||||
|
defaultMessage='Okay'
|
||||||
|
/>
|
||||||
|
</button>
|
||||||
|
</Modal.Footer>
|
||||||
|
</Modal>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
private handleHide = () => {
|
export default memo(PostDeletedModal);
|
||||||
this.setState({show: false});
|
|
||||||
};
|
|
||||||
|
|
||||||
public render(): JSX.Element {
|
|
||||||
return (
|
|
||||||
<Modal
|
|
||||||
dialogClassName='a11y__modal'
|
|
||||||
show={this.state.show}
|
|
||||||
onHide={this.handleHide}
|
|
||||||
onExited={this.props.onExited}
|
|
||||||
role='dialog'
|
|
||||||
aria-labelledby='postDeletedModalLabel'
|
|
||||||
data-testid='postDeletedModal'
|
|
||||||
>
|
|
||||||
<Modal.Header closeButton={true}>
|
|
||||||
<Modal.Title
|
|
||||||
componentClass='h1'
|
|
||||||
id='postDeletedModalLabel'
|
|
||||||
>
|
|
||||||
<FormattedMessage
|
|
||||||
id='post_delete.notPosted'
|
|
||||||
defaultMessage='Comment could not be posted'
|
|
||||||
/>
|
|
||||||
</Modal.Title>
|
|
||||||
</Modal.Header>
|
|
||||||
<Modal.Body>
|
|
||||||
<p>
|
|
||||||
<FormattedMessage
|
|
||||||
id='post_delete.someone'
|
|
||||||
defaultMessage='Someone deleted the message on which you tried to post a comment.'
|
|
||||||
/>
|
|
||||||
</p>
|
|
||||||
</Modal.Body>
|
|
||||||
<Modal.Footer>
|
|
||||||
<button
|
|
||||||
type='button'
|
|
||||||
className='btn btn-primary'
|
|
||||||
autoFocus={true}
|
|
||||||
onClick={this.handleHide}
|
|
||||||
data-testid='postDeletedModalOkButton'
|
|
||||||
>
|
|
||||||
<FormattedMessage
|
|
||||||
id='post_delete.okay'
|
|
||||||
defaultMessage='Okay'
|
|
||||||
/>
|
|
||||||
</button>
|
|
||||||
</Modal.Footer>
|
|
||||||
</Modal>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user