diff options
author | 2021-06-12 19:51:28 +0200 | |
---|---|---|
committer | 2021-06-12 19:51:28 +0200 | |
commit | b0ecce5eab2a6d0eed3ade7c43e252ca9bac7edb (patch) | |
tree | aed0253b61ca035f3388a7d6a369ffe75f195a58 /src/models/Service.js | |
parent | Bypassed code signing since that is also incorrect in GH settings. (diff) | |
download | ferdium-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/Service.js')
-rw-r--r-- | src/models/Service.js | 9 |
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'; | |||
4 | import normalizeUrl from 'normalize-url'; | 4 | import normalizeUrl from 'normalize-url'; |
5 | import path from 'path'; | 5 | import path from 'path'; |
6 | 6 | ||
7 | import { TODOS_RECIPE_ID, todosStore } from '../features/todos'; | 7 | import { todosStore } from '../features/todos'; |
8 | import { isValidExternalURL } from '../helpers/url-helpers'; | 8 | import { isValidExternalURL } from '../helpers/url-helpers'; |
9 | import UserAgent from './UserAgent'; | 9 | import 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 | ||