diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/layout/AppLayout.js | 13 | ||||
-rw-r--r-- | src/components/services/content/ErrorHandlers/WebviewErrorHandler.js | 2 | ||||
-rw-r--r-- | src/components/services/content/ErrorHandlers/styles.js | 6 | ||||
-rw-r--r-- | src/components/services/content/ServiceWebview.js | 3 | ||||
-rw-r--r-- | src/components/services/content/Services.js | 3 | ||||
-rw-r--r-- | src/components/ui/Modal/index.js | 59 | ||||
-rw-r--r-- | src/components/ui/Modal/styles.js | 32 |
7 files changed, 103 insertions, 15 deletions
diff --git a/src/components/layout/AppLayout.js b/src/components/layout/AppLayout.js index dbe0bb4b6..bce792e56 100644 --- a/src/components/layout/AppLayout.js +++ b/src/components/layout/AppLayout.js | |||
@@ -6,9 +6,10 @@ import { TitleBar } from 'electron-react-titlebar'; | |||
6 | 6 | ||
7 | import InfoBar from '../ui/InfoBar'; | 7 | import InfoBar from '../ui/InfoBar'; |
8 | import { Component as DelayApp } from '../../features/delayApp'; | 8 | import { Component as DelayApp } from '../../features/delayApp'; |
9 | import { Component as BasicAuth } from '../../features/basicAuth'; | ||
9 | import ErrorBoundary from '../util/ErrorBoundary'; | 10 | import ErrorBoundary from '../util/ErrorBoundary'; |
10 | 11 | ||
11 | import globalMessages from '../../i18n/globalMessages'; | 12 | // import globalMessages from '../../i18n/globalMessages'; |
12 | 13 | ||
13 | import { isWindows } from '../../environment'; | 14 | import { isWindows } from '../../environment'; |
14 | 15 | ||
@@ -50,7 +51,7 @@ export default @observer class AppLayout extends Component { | |||
50 | services: PropTypes.element.isRequired, | 51 | services: PropTypes.element.isRequired, |
51 | children: PropTypes.element, | 52 | children: PropTypes.element, |
52 | news: MobxPropTypes.arrayOrObservableArray.isRequired, | 53 | news: MobxPropTypes.arrayOrObservableArray.isRequired, |
53 | isOnline: PropTypes.bool.isRequired, | 54 | // isOnline: PropTypes.bool.isRequired, |
54 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, | 55 | showServicesUpdatedInfoBar: PropTypes.bool.isRequired, |
55 | appUpdateIsDownloaded: PropTypes.bool.isRequired, | 56 | appUpdateIsDownloaded: PropTypes.bool.isRequired, |
56 | removeNewsItem: PropTypes.func.isRequired, | 57 | removeNewsItem: PropTypes.func.isRequired, |
@@ -78,7 +79,7 @@ export default @observer class AppLayout extends Component { | |||
78 | sidebar, | 79 | sidebar, |
79 | services, | 80 | services, |
80 | children, | 81 | children, |
81 | isOnline, | 82 | // isOnline, |
82 | news, | 83 | news, |
83 | showServicesUpdatedInfoBar, | 84 | showServicesUpdatedInfoBar, |
84 | appUpdateIsDownloaded, | 85 | appUpdateIsDownloaded, |
@@ -114,14 +115,15 @@ export default @observer class AppLayout extends Component { | |||
114 | <span dangerouslySetInnerHTML={createMarkup(item.message)} /> | 115 | <span dangerouslySetInnerHTML={createMarkup(item.message)} /> |
115 | </InfoBar> | 116 | </InfoBar> |
116 | ))} | 117 | ))} |
117 | {!isOnline && ( | 118 | {/* {!isOnline && ( |
118 | <InfoBar | 119 | <InfoBar |
119 | type="danger" | 120 | type="danger" |
121 | sticky | ||
120 | > | 122 | > |
121 | <span className="mdi mdi-flash" /> | 123 | <span className="mdi mdi-flash" /> |
122 | {intl.formatMessage(globalMessages.notConnectedToTheInternet)} | 124 | {intl.formatMessage(globalMessages.notConnectedToTheInternet)} |
123 | </InfoBar> | 125 | </InfoBar> |
124 | )} | 126 | )} */} |
125 | {!areRequiredRequestsSuccessful && showRequiredRequestsError && ( | 127 | {!areRequiredRequestsSuccessful && showRequiredRequestsError && ( |
126 | <InfoBar | 128 | <InfoBar |
127 | type="danger" | 129 | type="danger" |
@@ -161,6 +163,7 @@ export default @observer class AppLayout extends Component { | |||
161 | </InfoBar> | 163 | </InfoBar> |
162 | )} | 164 | )} |
163 | {isDelayAppScreenVisible && (<DelayApp />)} | 165 | {isDelayAppScreenVisible && (<DelayApp />)} |
166 | <BasicAuth /> | ||
164 | {services} | 167 | {services} |
165 | </div> | 168 | </div> |
166 | </div> | 169 | </div> |
diff --git a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js index 415a8d1b5..37ccc8e51 100644 --- a/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js +++ b/src/components/services/content/ErrorHandlers/WebviewErrorHandler.js | |||
@@ -31,7 +31,7 @@ const messages = defineMessages({ | |||
31 | }, | 31 | }, |
32 | }); | 32 | }); |
33 | 33 | ||
34 | export default @injectSheet(styles) @observer class WebviewCrashHandler extends Component { | 34 | export default @injectSheet(styles) @observer class WebviewErrorHandler extends Component { |
35 | static propTypes = { | 35 | static propTypes = { |
36 | name: PropTypes.string.isRequired, | 36 | name: PropTypes.string.isRequired, |
37 | reload: PropTypes.func.isRequired, | 37 | reload: PropTypes.func.isRequired, |
diff --git a/src/components/services/content/ErrorHandlers/styles.js b/src/components/services/content/ErrorHandlers/styles.js index f11386798..9e2509ee5 100644 --- a/src/components/services/content/ErrorHandlers/styles.js +++ b/src/components/services/content/ErrorHandlers/styles.js | |||
@@ -1,4 +1,4 @@ | |||
1 | export default { | 1 | export default theme => ({ |
2 | component: { | 2 | component: { |
3 | left: 0, | 3 | left: 0, |
4 | position: 'absolute', | 4 | position: 'absolute', |
@@ -6,7 +6,7 @@ export default { | |||
6 | width: '100%', | 6 | width: '100%', |
7 | zIndex: 0, | 7 | zIndex: 0, |
8 | alignItems: 'center', | 8 | alignItems: 'center', |
9 | // background: $theme-gray-lighter; | 9 | background: theme.colorWebviewErrorHandlerBackground, |
10 | display: 'flex', | 10 | display: 'flex', |
11 | flexDirection: 'column', | 11 | flexDirection: 'column', |
12 | justifyContent: 'center', | 12 | justifyContent: 'center', |
@@ -22,4 +22,4 @@ export default { | |||
22 | margin: [0, 10, 0, 10], | 22 | margin: [0, 10, 0, 10], |
23 | }, | 23 | }, |
24 | }, | 24 | }, |
25 | }; | 25 | }); |
diff --git a/src/components/services/content/ServiceWebview.js b/src/components/services/content/ServiceWebview.js index b1a2c0207..bb577e4cc 100644 --- a/src/components/services/content/ServiceWebview.js +++ b/src/components/services/content/ServiceWebview.js | |||
@@ -18,7 +18,6 @@ export default @observer class ServiceWebview extends Component { | |||
18 | setWebviewReference: PropTypes.func.isRequired, | 18 | setWebviewReference: PropTypes.func.isRequired, |
19 | reload: PropTypes.func.isRequired, | 19 | reload: PropTypes.func.isRequired, |
20 | edit: PropTypes.func.isRequired, | 20 | edit: PropTypes.func.isRequired, |
21 | isAppMuted: PropTypes.bool.isRequired, | ||
22 | enable: PropTypes.func.isRequired, | 21 | enable: PropTypes.func.isRequired, |
23 | isActive: PropTypes.bool, | 22 | isActive: PropTypes.bool, |
24 | }; | 23 | }; |
@@ -69,7 +68,6 @@ export default @observer class ServiceWebview extends Component { | |||
69 | setWebviewReference, | 68 | setWebviewReference, |
70 | reload, | 69 | reload, |
71 | edit, | 70 | edit, |
72 | isAppMuted, | ||
73 | enable, | 71 | enable, |
74 | } = this.props; | 72 | } = this.props; |
75 | 73 | ||
@@ -137,7 +135,6 @@ export default @observer class ServiceWebview extends Component { | |||
137 | })} | 135 | })} |
138 | onUpdateTargetUrl={this.updateTargetUrl} | 136 | onUpdateTargetUrl={this.updateTargetUrl} |
139 | useragent={service.userAgent} | 137 | useragent={service.userAgent} |
140 | muted={isAppMuted || service.isMuted} | ||
141 | allowpopups | 138 | allowpopups |
142 | /> | 139 | /> |
143 | )} | 140 | )} |
diff --git a/src/components/services/content/Services.js b/src/components/services/content/Services.js index 1aeb17e03..54f16ba12 100644 --- a/src/components/services/content/Services.js +++ b/src/components/services/content/Services.js | |||
@@ -26,7 +26,6 @@ export default @observer class Services extends Component { | |||
26 | openWindow: PropTypes.func.isRequired, | 26 | openWindow: PropTypes.func.isRequired, |
27 | reload: PropTypes.func.isRequired, | 27 | reload: PropTypes.func.isRequired, |
28 | openSettings: PropTypes.func.isRequired, | 28 | openSettings: PropTypes.func.isRequired, |
29 | isAppMuted: PropTypes.bool.isRequired, | ||
30 | update: PropTypes.func.isRequired, | 29 | update: PropTypes.func.isRequired, |
31 | }; | 30 | }; |
32 | 31 | ||
@@ -46,7 +45,6 @@ export default @observer class Services extends Component { | |||
46 | openWindow, | 45 | openWindow, |
47 | reload, | 46 | reload, |
48 | openSettings, | 47 | openSettings, |
49 | isAppMuted, | ||
50 | update, | 48 | update, |
51 | } = this.props; | 49 | } = this.props; |
52 | const { intl } = this.context; | 50 | const { intl } = this.context; |
@@ -81,7 +79,6 @@ export default @observer class Services extends Component { | |||
81 | openWindow={openWindow} | 79 | openWindow={openWindow} |
82 | reload={() => reload({ serviceId: service.id })} | 80 | reload={() => reload({ serviceId: service.id })} |
83 | edit={() => openSettings({ path: `services/edit/${service.id}` })} | 81 | edit={() => openSettings({ path: `services/edit/${service.id}` })} |
84 | isAppMuted={isAppMuted} | ||
85 | enable={() => update({ | 82 | enable={() => update({ |
86 | serviceId: service.id, | 83 | serviceId: service.id, |
87 | serviceData: { | 84 | serviceData: { |
diff --git a/src/components/ui/Modal/index.js b/src/components/ui/Modal/index.js new file mode 100644 index 000000000..d84e4c713 --- /dev/null +++ b/src/components/ui/Modal/index.js | |||
@@ -0,0 +1,59 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import ReactModal from 'react-modal'; | ||
3 | import PropTypes from 'prop-types'; | ||
4 | import classnames from 'classnames'; | ||
5 | import injectCSS from 'react-jss'; | ||
6 | |||
7 | import styles from './styles'; | ||
8 | |||
9 | export default @injectCSS(styles) class Modal extends Component { | ||
10 | static propTypes = { | ||
11 | children: PropTypes.node.isRequired, | ||
12 | className: PropTypes.string, | ||
13 | classes: PropTypes.object.isRequired, | ||
14 | isOpen: PropTypes.bool.isRequired, | ||
15 | portal: PropTypes.string, | ||
16 | close: PropTypes.func.isRequired, | ||
17 | } | ||
18 | |||
19 | static defaultProps = { | ||
20 | className: null, | ||
21 | portal: 'modal-portal', | ||
22 | } | ||
23 | |||
24 | render() { | ||
25 | const { | ||
26 | children, | ||
27 | className, | ||
28 | classes, | ||
29 | isOpen, | ||
30 | portal, | ||
31 | close, | ||
32 | } = this.props; | ||
33 | |||
34 | return ( | ||
35 | <ReactModal | ||
36 | isOpen={isOpen} | ||
37 | className={classnames({ | ||
38 | [`${classes.modal}`]: true, | ||
39 | [`${className}`]: className, | ||
40 | })} | ||
41 | portalClassName={classes.component} | ||
42 | overlayClassName={classes.overlay} | ||
43 | portal={portal} | ||
44 | onRequestClose={close} | ||
45 | > | ||
46 | {/* <button | ||
47 | type="button" | ||
48 | className={classnames({ | ||
49 | [`${classes.close}`]: true, | ||
50 | 'mdi mdi-close': true, | ||
51 | })} | ||
52 | /> */} | ||
53 | <div className={classes.content}> | ||
54 | {children} | ||
55 | </div> | ||
56 | </ReactModal> | ||
57 | ); | ||
58 | } | ||
59 | } | ||
diff --git a/src/components/ui/Modal/styles.js b/src/components/ui/Modal/styles.js new file mode 100644 index 000000000..56fecbf55 --- /dev/null +++ b/src/components/ui/Modal/styles.js | |||
@@ -0,0 +1,32 @@ | |||
1 | export default theme => ({ | ||
2 | component: { | ||
3 | zIndex: 500, | ||
4 | position: 'absolute', | ||
5 | }, | ||
6 | overlay: { | ||
7 | background: theme.colorModalOverlayBackground, | ||
8 | position: 'fixed', | ||
9 | top: 0, | ||
10 | left: 0, | ||
11 | right: 0, | ||
12 | bottom: 0, | ||
13 | display: 'flex', | ||
14 | }, | ||
15 | modal: { | ||
16 | background: '#FFF', | ||
17 | maxWidth: '90%', | ||
18 | height: 'auto', | ||
19 | margin: 'auto auto', | ||
20 | borderRadius: 6, | ||
21 | boxShadow: '0px 13px 40px 0px rgba(0,0,0,0.2)', | ||
22 | position: 'relative', | ||
23 | }, | ||
24 | content: { | ||
25 | padding: 20, | ||
26 | }, | ||
27 | close: { | ||
28 | position: 'absolute', | ||
29 | top: 0, | ||
30 | right: 0, | ||
31 | }, | ||
32 | }); | ||