diff --git a/webapp/channels/src/components/__snapshots__/loading_image_preview.test.tsx.snap b/webapp/channels/src/components/__snapshots__/loading_image_preview.test.tsx.snap index daef7ac95a..78a8dbb052 100644 --- a/webapp/channels/src/components/__snapshots__/loading_image_preview.test.tsx.snap +++ b/webapp/channels/src/components/__snapshots__/loading_image_preview.test.tsx.snap @@ -4,7 +4,7 @@ exports[`components/LoadingImagePreview should match snapshot 1`] = `
- + @@ -17,7 +17,7 @@ exports[`components/LoadingImagePreview should match snapshot 2`] = `
- + diff --git a/webapp/channels/src/components/__snapshots__/pdf_preview.test.jsx.snap b/webapp/channels/src/components/__snapshots__/pdf_preview.test.jsx.snap index 3bb96304b6..88f60c7450 100644 --- a/webapp/channels/src/components/__snapshots__/pdf_preview.test.jsx.snap +++ b/webapp/channels/src/components/__snapshots__/pdf_preview.test.jsx.snap @@ -4,7 +4,7 @@ exports[`component/PDFPreview should match snapshot, loading 1`] = `
- +
`; diff --git a/webapp/channels/src/components/admin_console/data_grid/__snapshots__/data_grid.test.tsx.snap b/webapp/channels/src/components/admin_console/data_grid/__snapshots__/data_grid.test.tsx.snap index e0291b7061..45aed720b5 100644 --- a/webapp/channels/src/components/admin_console/data_grid/__snapshots__/data_grid.test.tsx.snap +++ b/webapp/channels/src/components/admin_console/data_grid/__snapshots__/data_grid.test.tsx.snap @@ -19,7 +19,7 @@ exports[`components/admin_console/data_grid/DataGrid should match snapshot while
- + - - - - - test - - - + className="fa fa-spinner fa-fw fa-pulse spinner" + title="Loading Icon" + /> + test + + `; @@ -84,62 +41,19 @@ exports[`components/widgets/loading/LoadingWrapper showing spinner without text - - - - - - + className="fa fa-spinner fa-fw fa-pulse spinner" + title="Loading Icon" + /> + + `; diff --git a/webapp/channels/src/components/widgets/loading/loading_spinner.test.tsx b/webapp/channels/src/components/widgets/loading/loading_spinner.test.tsx index 001fbebbf8..b8c4c6405b 100644 --- a/webapp/channels/src/components/widgets/loading/loading_spinner.test.tsx +++ b/webapp/channels/src/components/widgets/loading/loading_spinner.test.tsx @@ -1,19 +1,18 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. +import {shallow} from 'enzyme'; import React from 'react'; -import {shallowWithIntl} from 'tests/helpers/intl-test-helper'; - import LoadingSpinner from './loading_spinner'; describe('components/widgets/loadingLoadingSpinner', () => { test('showing spinner with text', () => { - const wrapper = shallowWithIntl(); + const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); test('showing spinner without text', () => { - const wrapper = shallowWithIntl(); + const wrapper = shallow(); expect(wrapper).toMatchSnapshot(); }); }); diff --git a/webapp/channels/src/components/widgets/loading/loading_spinner.tsx b/webapp/channels/src/components/widgets/loading/loading_spinner.tsx index da626db7cc..6cb345a7ab 100644 --- a/webapp/channels/src/components/widgets/loading/loading_spinner.tsx +++ b/webapp/channels/src/components/widgets/loading/loading_spinner.tsx @@ -1,36 +1,30 @@ // Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. // See LICENSE.txt for license information. -import React, {PureComponent} from 'react'; -import type {ReactNode, CSSProperties} from 'react'; -import {injectIntl, type IntlShape} from 'react-intl'; +import classNames from 'classnames'; +import React from 'react'; +import {useIntl} from 'react-intl'; type Props = { - text?: ReactNode; - style?: CSSProperties; - intl: IntlShape; + text?: React.ReactNode; + style?: React.CSSProperties; } -class LoadingSpinner extends PureComponent { - public static defaultProps: Partial = { - text: null, - }; - - public render() { - return ( +const LoadingSpinner = ({text = null, style}: Props) => { + const {formatMessage} = useIntl(); + return ( + - - {this.props.text} - - ); - } -} + className='fa fa-spinner fa-fw fa-pulse spinner' + title={formatMessage({id: 'generic_icons.loading', defaultMessage: 'Loading Icon'})} + /> + {text} + + ); +}; -export default injectIntl(LoadingSpinner); +export default React.memo(LoadingSpinner);