diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-02-27 01:52:55 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-03-06 18:56:47 +0100 |
commit | 098d6f9bb1fd26f2d192db497992ab95b258ce55 (patch) | |
tree | 22905f87e6ad53032b6ff39bb3af274df2f6287c /packages/main/src/stores/MainStore.ts | |
parent | refactor: Shared model type factories (diff) | |
download | sophie-098d6f9bb1fd26f2d192db497992ab95b258ce55.tar.gz sophie-098d6f9bb1fd26f2d192db497992ab95b258ce55.tar.zst sophie-098d6f9bb1fd26f2d192db497992ab95b258ce55.zip |
feat: Location bar actions
The buttons and the text field in the location bar shall now affect the
BrowserView of the loaded service.
Some error handling is still needed, e.g., when loading a web page fails
due to a DNS error.
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/main/src/stores/MainStore.ts')
-rw-r--r-- | packages/main/src/stores/MainStore.ts | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/packages/main/src/stores/MainStore.ts b/packages/main/src/stores/MainStore.ts index cb4f4c9..bf351d7 100644 --- a/packages/main/src/stores/MainStore.ts +++ b/packages/main/src/stores/MainStore.ts | |||
@@ -74,9 +74,6 @@ const MainStore = types | |||
74 | }, | 74 | }, |
75 | dispatch(action: Action): void { | 75 | dispatch(action: Action): void { |
76 | switch (action.action) { | 76 | switch (action.action) { |
77 | case 'reload-all-services': | ||
78 | // TODO | ||
79 | break; | ||
80 | case 'set-browser-view-bounds': | 77 | case 'set-browser-view-bounds': |
81 | this.setBrowserViewBounds(action.browserViewBounds); | 78 | this.setBrowserViewBounds(action.browserViewBounds); |
82 | break; | 79 | break; |
@@ -89,6 +86,24 @@ const MainStore = types | |||
89 | case 'set-show-location-bar': | 86 | case 'set-show-location-bar': |
90 | self.settings.setShowLocationBar(action.showLocationBar); | 87 | self.settings.setShowLocationBar(action.showLocationBar); |
91 | break; | 88 | break; |
89 | case 'reload-all-services': | ||
90 | // TODO | ||
91 | break; | ||
92 | case 'dispatch-service-action': { | ||
93 | const { serviceId, serviceAction } = action; | ||
94 | const service = self.shared.servicesById.get(serviceId); | ||
95 | if (service === undefined) { | ||
96 | log.error( | ||
97 | 'No such service', | ||
98 | serviceId, | ||
99 | 'to dispatch action', | ||
100 | serviceAction, | ||
101 | ); | ||
102 | } else { | ||
103 | service.dispatch(serviceAction); | ||
104 | } | ||
105 | break; | ||
106 | } | ||
92 | default: | 107 | default: |
93 | log.error('Unknown action to dispatch', action); | 108 | log.error('Unknown action to dispatch', action); |
94 | break; | 109 | break; |