aboutsummaryrefslogtreecommitdiffstats
path: root/src/models
diff options
context:
space:
mode:
authorLibravatar kytwb <412895+kytwb@users.noreply.github.com>2021-06-12 19:51:28 +0200
committerLibravatar GitHub <noreply@github.com>2021-06-12 19:51:28 +0200
commitb0ecce5eab2a6d0eed3ade7c43e252ca9bac7edb (patch)
treeaed0253b61ca035f3388a7d6a369ffe75f195a58 /src/models
parentBypassed code signing since that is also incorrect in GH settings. (diff)
downloadferdium-app-b0ecce5eab2a6d0eed3ade7c43e252ca9bac7edb.tar.gz
ferdium-app-b0ecce5eab2a6d0eed3ade7c43e252ca9bac7edb.tar.zst
ferdium-app-b0ecce5eab2a6d0eed3ade7c43e252ca9bac7edb.zip
Fix active Todos service behaviour (#1481)
* Return false instead of null in isTodosServiceAdded * Resolve from TODOS_RECIPES_ID instead of hardcoded TODOS_RECIPE_ID * Fix TodosWebview width toggling when isTodosServiceActive * Add more todo service recipe IDs * Refactor todos state management * Moved todos service URL and recipe ID computation logic to todos/store * Simplified TodosWebview by delegating to the store for the URL and removing the (unused) payment logic * Made the todos service computation logic in the Service model depend on the logic in todos/store * Made ServicesStore depend on the todos service logic from the Service model * Todos appearance fixes * Hide double horizontal rules if todo settings are hidden due to an added todo service * Hide todos panel border when the panel is hidden or expanded * Make expanded todos panel obey sidebar width and vertical style settings * Make todos/store use isValidExternalURL * Harden isValidExternalURL against malformed URLs * Reduce todo URL string duplication in config.js Co-authored-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'src/models')
-rw-r--r--src/models/Service.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/models/Service.js b/src/models/Service.js
index 0d1dff431..d0c6a7103 100644
--- a/src/models/Service.js
+++ b/src/models/Service.js
@@ -4,7 +4,7 @@ import { webContents } from '@electron/remote';
4import normalizeUrl from 'normalize-url'; 4import normalizeUrl from 'normalize-url';
5import path from 'path'; 5import path from 'path';
6 6
7import { TODOS_RECIPE_ID, todosStore } from '../features/todos'; 7import { todosStore } from '../features/todos';
8import { isValidExternalURL } from '../helpers/url-helpers'; 8import { isValidExternalURL } from '../helpers/url-helpers';
9import UserAgent from './UserAgent'; 9import UserAgent from './UserAgent';
10 10
@@ -184,8 +184,12 @@ export default class Service {
184 }; 184 };
185 } 185 }
186 186
187 @computed get isTodosService() {
188 return this.recipe.id === todosStore.todoRecipeId;
189 }
190
187 get webview() { 191 get webview() {
188 if (this.recipe.id === TODOS_RECIPE_ID) { 192 if (this.isTodosService) {
189 return todosStore.webview; 193 return todosStore.webview;
190 } 194 }
191 195
@@ -243,7 +247,6 @@ export default class Service {
243 return this.recipe.partition || `persist:service-${this.id}`; 247 return this.recipe.partition || `persist:service-${this.id}`;
244 } 248 }
245 249
246
247 initializeWebViewEvents({ handleIPCMessage, openWindow, stores }) { 250 initializeWebViewEvents({ handleIPCMessage, openWindow, stores }) {
248 const webviewWebContents = webContents.fromId(this.webview.getWebContentsId()); 251 const webviewWebContents = webContents.fromId(this.webview.getWebContentsId());
249 252