diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-01-20 19:13:45 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-02-08 21:43:16 +0100 |
commit | cef1c2fd221e81424195026645386370662ef398 (patch) | |
tree | 77fc9d044adef735adb2c2acc0ba3e74858aa1f8 /packages/renderer/src/stores | |
parent | refactor: Rename main services to infrastructure (diff) | |
download | sophie-cef1c2fd221e81424195026645386370662ef398.tar.gz sophie-cef1c2fd221e81424195026645386370662ef398.tar.zst sophie-cef1c2fd221e81424195026645386370662ef398.zip |
feat: Add selected service field to SharedStore
Lets the main process see which service is currently selected.
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/renderer/src/stores')
-rw-r--r-- | packages/renderer/src/stores/RendererStore.ts | 9 | ||||
-rw-r--r-- | packages/renderer/src/stores/SharedStore.ts | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/packages/renderer/src/stores/RendererStore.ts b/packages/renderer/src/stores/RendererStore.ts index d0e7843..731ca28 100644 --- a/packages/renderer/src/stores/RendererStore.ts +++ b/packages/renderer/src/stores/RendererStore.ts | |||
@@ -42,8 +42,17 @@ export const rendererStore = types | |||
42 | get services(): Service[] { | 42 | get services(): Service[] { |
43 | return this.config.services; | 43 | return this.config.services; |
44 | }, | 44 | }, |
45 | get selectedService(): Service | undefined { | ||
46 | return self.shared.selectedService; | ||
47 | }, | ||
45 | })) | 48 | })) |
46 | .actions((self) => ({ | 49 | .actions((self) => ({ |
50 | setSelectedServiceId(serviceId: string): void { | ||
51 | getEnv(self).dispatchMainAction({ | ||
52 | action: 'set-selected-service-id', | ||
53 | serviceId, | ||
54 | }); | ||
55 | }, | ||
47 | setBrowserViewBounds(browserViewBounds: BrowserViewBounds): void { | 56 | setBrowserViewBounds(browserViewBounds: BrowserViewBounds): void { |
48 | getEnv(self).dispatchMainAction({ | 57 | getEnv(self).dispatchMainAction({ |
49 | action: 'set-browser-view-bounds', | 58 | action: 'set-browser-view-bounds', |
diff --git a/packages/renderer/src/stores/SharedStore.ts b/packages/renderer/src/stores/SharedStore.ts index baaf061..962f7e2 100644 --- a/packages/renderer/src/stores/SharedStore.ts +++ b/packages/renderer/src/stores/SharedStore.ts | |||
@@ -22,9 +22,11 @@ import { sharedStore as originalSharedStore } from '@sophie/shared'; | |||
22 | import { Instance, types } from 'mobx-state-tree'; | 22 | import { Instance, types } from 'mobx-state-tree'; |
23 | 23 | ||
24 | import { config } from './Config'; | 24 | import { config } from './Config'; |
25 | import { service } from './Service'; | ||
25 | 26 | ||
26 | export const sharedStore = originalSharedStore.props({ | 27 | export const sharedStore = originalSharedStore.props({ |
27 | config: types.optional(config, {}), | 28 | config: types.optional(config, {}), |
29 | selectedService: types.safeReference(service), | ||
28 | }); | 30 | }); |
29 | 31 | ||
30 | export interface SharedStore extends Instance<typeof sharedStore> {} | 32 | export interface SharedStore extends Instance<typeof sharedStore> {} |