aboutsummaryrefslogtreecommitdiffstats
path: root/src/components
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2019-02-12 13:26:50 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2019-02-12 13:26:50 +0100
commit3d2b58b387ce8b22cd7b674445d56d81019ef16c (patch)
tree7bf922ae2932ca9467246fca7288a49deb29ea9b /src/components
parentAdd withTheme context to button (diff)
parentFix windows token login (diff)
downloadferdium-app-3d2b58b387ce8b22cd7b674445d56d81019ef16c.tar.gz
ferdium-app-3d2b58b387ce8b22cd7b674445d56d81019ef16c.tar.zst
ferdium-app-3d2b58b387ce8b22cd7b674445d56d81019ef16c.zip
Merge branch 'develop' into chore/lerna
Diffstat (limited to 'src/components')
-rw-r--r--src/components/layout/AppLayout.js13
-rw-r--r--src/components/services/content/ErrorHandlers/WebviewErrorHandler.js2
-rw-r--r--src/components/services/content/ErrorHandlers/styles.js6
-rw-r--r--src/components/services/content/ServiceWebview.js3
-rw-r--r--src/components/services/content/Services.js3
-rw-r--r--src/components/ui/Modal/index.js59
-rw-r--r--src/components/ui/Modal/styles.js32
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
7import InfoBar from '../ui/InfoBar'; 7import InfoBar from '../ui/InfoBar';
8import { Component as DelayApp } from '../../features/delayApp'; 8import { Component as DelayApp } from '../../features/delayApp';
9import { Component as BasicAuth } from '../../features/basicAuth';
9import ErrorBoundary from '../util/ErrorBoundary'; 10import ErrorBoundary from '../util/ErrorBoundary';
10 11
11import globalMessages from '../../i18n/globalMessages'; 12// import globalMessages from '../../i18n/globalMessages';
12 13
13import { isWindows } from '../../environment'; 14import { 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
34export default @injectSheet(styles) @observer class WebviewCrashHandler extends Component { 34export 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 @@
1export default { 1export 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 @@
1import React, { Component } from 'react';
2import ReactModal from 'react-modal';
3import PropTypes from 'prop-types';
4import classnames from 'classnames';
5import injectCSS from 'react-jss';
6
7import styles from './styles';
8
9export 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 @@
1export 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});