aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/stores/MainStore.ts
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-02-27 01:52:55 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-03-06 18:56:47 +0100
commit098d6f9bb1fd26f2d192db497992ab95b258ce55 (patch)
tree22905f87e6ad53032b6ff39bb3af274df2f6287c /packages/main/src/stores/MainStore.ts
parentrefactor: Shared model type factories (diff)
downloadsophie-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.ts21
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;