aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/ui/WebviewLoader
diff options
context:
space:
mode:
authorLibravatar muhamedsalih-tw <104364298+muhamedsalih-tw@users.noreply.github.com>2022-11-20 17:35:21 +0530
committerLibravatar GitHub <noreply@github.com>2022-11-20 17:35:21 +0530
commit86f9ab693dcad951271f727046214b03d91ebd69 (patch)
tree3d32ff4814b5484495b811c5fe0ebea4805f4e55 /src/components/ui/WebviewLoader
parent6.2.1-nightly.47 [skip ci] (diff)
downloadferdium-app-86f9ab693dcad951271f727046214b03d91ebd69.tar.gz
ferdium-app-86f9ab693dcad951271f727046214b03d91ebd69.tar.zst
ferdium-app-86f9ab693dcad951271f727046214b03d91ebd69.zip
Transform Todo feature, ServiceBarTargetUrl, ServiceIcon, TeamDashboard, Slider, Loader & WorkspaceSwitchningIndicator into ts (#782)
Diffstat (limited to 'src/components/ui/WebviewLoader')
-rw-r--r--src/components/ui/WebviewLoader/index.js37
-rw-r--r--src/components/ui/WebviewLoader/index.tsx44
-rw-r--r--src/components/ui/WebviewLoader/styles.ts9
3 files changed, 44 insertions, 46 deletions
diff --git a/src/components/ui/WebviewLoader/index.js b/src/components/ui/WebviewLoader/index.js
deleted file mode 100644
index 20945d191..000000000
--- a/src/components/ui/WebviewLoader/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
1import { Component } from 'react';
2import PropTypes from 'prop-types';
3import { observer } from 'mobx-react';
4import injectSheet from 'react-jss';
5import { defineMessages, injectIntl } from 'react-intl';
6
7import FullscreenLoader from '../FullscreenLoader';
8import styles from './styles';
9
10const messages = defineMessages({
11 loading: {
12 id: 'service.webviewLoader.loading',
13 defaultMessage: 'Loading {service}',
14 },
15});
16
17class WebviewLoader extends Component {
18 static propTypes = {
19 name: PropTypes.string.isRequired,
20 classes: PropTypes.object.isRequired,
21 };
22
23 render() {
24 const { classes, name } = this.props;
25 const { intl } = this.props;
26 return (
27 <FullscreenLoader
28 className={classes.component}
29 title={`${intl.formatMessage(messages.loading, { service: name })}`}
30 />
31 );
32 }
33}
34
35export default injectIntl(
36 injectSheet(styles, { injectTheme: true })(observer(WebviewLoader)),
37);
diff --git a/src/components/ui/WebviewLoader/index.tsx b/src/components/ui/WebviewLoader/index.tsx
new file mode 100644
index 000000000..81923b6ca
--- /dev/null
+++ b/src/components/ui/WebviewLoader/index.tsx
@@ -0,0 +1,44 @@
1import { Component, ReactElement } from 'react';
2import { observer } from 'mobx-react';
3import injectSheet, { WithStylesProps } from 'react-jss';
4import { defineMessages, injectIntl, WrappedComponentProps } from 'react-intl';
5import FullscreenLoader from '../FullscreenLoader';
6
7const messages = defineMessages({
8 loading: {
9 id: 'service.webviewLoader.loading',
10 defaultMessage: 'Loading {service}',
11 },
12});
13
14const styles = theme => ({
15 component: {
16 background: theme.colorWebviewLoaderBackground,
17 padding: 20,
18 width: 'auto',
19 margin: [0, 'auto'],
20 borderRadius: 6,
21 },
22});
23
24interface IProps extends WithStylesProps<typeof styles>, WrappedComponentProps {
25 name: string;
26 loaded?: boolean;
27}
28
29class WebviewLoader extends Component<IProps> {
30 render(): ReactElement {
31 const { classes, name, loaded = false, intl } = this.props;
32 return (
33 <FullscreenLoader
34 className={classes.component}
35 title={`${intl.formatMessage(messages.loading, { service: name })}`}
36 loaded={loaded}
37 />
38 );
39 }
40}
41
42export default injectIntl(
43 injectSheet(styles, { injectTheme: true })(observer(WebviewLoader)),
44);
diff --git a/src/components/ui/WebviewLoader/styles.ts b/src/components/ui/WebviewLoader/styles.ts
deleted file mode 100644
index dbd75db8a..000000000
--- a/src/components/ui/WebviewLoader/styles.ts
+++ /dev/null
@@ -1,9 +0,0 @@
1export default theme => ({
2 component: {
3 background: theme.colorWebviewLoaderBackground,
4 padding: 20,
5 width: 'auto',
6 margin: [0, 'auto'],
7 borderRadius: 6,
8 },
9});