aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2017-11-18 22:34:46 +0100
committerLibravatar GitHub <noreply@github.com>2017-11-18 22:34:46 +0100
commit3da65653c4f6866f048d60f87c20217376679bc6 (patch)
tree9b3495674c4381feaf5f35e92de97a1b54d9b08e
parentFix typos (diff)
parentallow service to be reattached properly after re-enabling service (diff)
downloadferdium-app-3da65653c4f6866f048d60f87c20217376679bc6.tar.gz
ferdium-app-3da65653c4f6866f048d60f87c20217376679bc6.tar.zst
ferdium-app-3da65653c4f6866f048d60f87c20217376679bc6.zip
Merge pull request #294 from meetfranz/feature/192-display-disabled-services
[PR] Disable/Enable service optimizations
-rw-r--r--src/components/services/content/ServiceDisabled.js2
-rw-r--r--src/components/services/content/WebviewCrashHandler.js2
-rw-r--r--src/models/Service.js11
-rw-r--r--src/stores/ServicesStore.js2
-rw-r--r--src/styles/services.scss6
5 files changed, 17 insertions, 6 deletions
diff --git a/src/components/services/content/ServiceDisabled.js b/src/components/services/content/ServiceDisabled.js
index 732b6c003..b5af3743d 100644
--- a/src/components/services/content/ServiceDisabled.js
+++ b/src/components/services/content/ServiceDisabled.js
@@ -35,7 +35,7 @@ export default class ServiceDisabled extends Component {
35 const { intl } = this.context; 35 const { intl } = this.context;
36 36
37 return ( 37 return (
38 <div className="services__crash-handler"> 38 <div className="services__info-layer">
39 <h1>{intl.formatMessage(messages.headline, { name })}</h1> 39 <h1>{intl.formatMessage(messages.headline, { name })}</h1>
40 <Button 40 <Button
41 label={intl.formatMessage(messages.action, { name })} 41 label={intl.formatMessage(messages.action, { name })}
diff --git a/src/components/services/content/WebviewCrashHandler.js b/src/components/services/content/WebviewCrashHandler.js
index d48152c18..d3e6951f3 100644
--- a/src/components/services/content/WebviewCrashHandler.js
+++ b/src/components/services/content/WebviewCrashHandler.js
@@ -62,7 +62,7 @@ export default class WebviewCrashHandler extends Component {
62 const { intl } = this.context; 62 const { intl } = this.context;
63 63
64 return ( 64 return (
65 <div className="services__crash-handler"> 65 <div className="services__info-layer">
66 <h1>{intl.formatMessage(messages.headline)}</h1> 66 <h1>{intl.formatMessage(messages.headline)}</h1>
67 <p>{intl.formatMessage(messages.text, { name })}</p> 67 <p>{intl.formatMessage(messages.text, { name })}</p>
68 <Button 68 <Button
diff --git a/src/models/Service.js b/src/models/Service.js
index eb68493fe..d0985969b 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -1,4 +1,4 @@
1import { computed, observable } from 'mobx'; 1import { computed, observable, autorun } from 'mobx';
2import path from 'path'; 2import path from 'path';
3import normalizeUrl from 'normalize-url'; 3import normalizeUrl from 'normalize-url';
4 4
@@ -58,6 +58,15 @@ export default class Service {
58 this.isMuted = data.isMuted !== undefined ? data.isMuted : this.isMuted; 58 this.isMuted = data.isMuted !== undefined ? data.isMuted : this.isMuted;
59 59
60 this.recipe = recipe; 60 this.recipe = recipe;
61
62 autorun(() => {
63 if (!this.isEnabled) {
64 this.webview = null;
65 this.isAttached = false;
66 this.unreadDirectMessageCount = 0;
67 this.unreadIndirectMessageCount = 0;
68 }
69 });
61 } 70 }
62 71
63 @computed get url() { 72 @computed get url() {
diff --git a/src/stores/ServicesStore.js b/src/stores/ServicesStore.js
index 87d31c0c5..9af5d81da 100644
--- a/src/stores/ServicesStore.js
+++ b/src/stores/ServicesStore.js
@@ -547,6 +547,8 @@ export default class ServicesStore extends Store {
547 547
548 if (service) { 548 if (service) {
549 const loop = () => { 549 const loop = () => {
550 if (!service.webview) return;
551
550 service.webview.send('poll'); 552 service.webview.send('poll');
551 553
552 setTimeout(loop, delay); 554 setTimeout(loop, delay);
diff --git a/src/styles/services.scss b/src/styles/services.scss
index 2a6540e0b..282c15121 100644
--- a/src/styles/services.scss
+++ b/src/styles/services.scss
@@ -13,7 +13,7 @@
13 } 13 }
14 14
15 .services__webview, 15 .services__webview,
16 .services__crash-handler { 16 .services__info-layer {
17 position: absolute; 17 position: absolute;
18 width: 100%; 18 width: 100%;
19 top: 0; 19 top: 0;
@@ -44,7 +44,7 @@
44 } 44 }
45 45
46 .services__no-service, 46 .services__no-service,
47 .services__crash-handler { 47 .services__info-layer {
48 display: flex; 48 display: flex;
49 flex-direction: column; 49 flex-direction: column;
50 justify-content: center; 50 justify-content: center;
@@ -63,7 +63,7 @@
63 } 63 }
64 } 64 }
65 65
66 .services__crash-handler { 66 .services__info-layer {
67 position: absolut; 67 position: absolut;
68 z-index: 110; 68 z-index: 110;
69 } 69 }