aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer/src/stores/RendererStore.ts
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-01-20 18:06:23 +0100
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-02-08 21:43:15 +0100
commitd24734ac4cd1c6ddda5ba39f033ce9eaa4dcda01 (patch)
treeb696243e5bf35ee19237c149da3d779239e2a7d7 /packages/renderer/src/stores/RendererStore.ts
parentfix: Do not access localStorage in service-preload (diff)
downloadsophie-d24734ac4cd1c6ddda5ba39f033ce9eaa4dcda01.tar.gz
sophie-d24734ac4cd1c6ddda5ba39f033ce9eaa4dcda01.tar.zst
sophie-d24734ac4cd1c6ddda5ba39f033ce9eaa4dcda01.zip
feat: Add RuntimeService store
Stores transient state for services shared between the main and renderer processes. Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/renderer/src/stores/RendererStore.ts')
-rw-r--r--packages/renderer/src/stores/RendererStore.ts21
1 files changed, 8 insertions, 13 deletions
diff --git a/packages/renderer/src/stores/RendererStore.ts b/packages/renderer/src/stores/RendererStore.ts
index f1915c9..d0e7843 100644
--- a/packages/renderer/src/stores/RendererStore.ts
+++ b/packages/renderer/src/stores/RendererStore.ts
@@ -18,20 +18,16 @@
18 * SPDX-License-Identifier: AGPL-3.0-only 18 * SPDX-License-Identifier: AGPL-3.0-only
19 */ 19 */
20 20
21import { 21import { BrowserViewBounds, SophieRenderer, ThemeSource } from '@sophie/shared';
22 BrowserViewBounds,
23 Config,
24 Service,
25 sharedStore,
26 SophieRenderer,
27 ThemeSource,
28} from '@sophie/shared';
29import { applySnapshot, applyPatch, Instance, types } from 'mobx-state-tree'; 22import { applySnapshot, applyPatch, Instance, types } from 'mobx-state-tree';
30 23
24import getEnv from '../env/getEnv';
25import RendererEnvImpl from '../env/impl/RendererEnvImpl';
31import { getLogger } from '../utils/log'; 26import { getLogger } from '../utils/log';
32 27
33import type RendererEnv from './RendererEnv'; 28import type { Config } from './Config';
34import { getEnv } from './RendererEnv'; 29import type { Service } from './Service';
30import { sharedStore } from './SharedStore';
35 31
36const log = getLogger('RendererStore'); 32const log = getLogger('RendererStore');
37 33
@@ -82,10 +78,9 @@ export interface RendererStore extends Instance<typeof rendererStore> {}
82export function createAndConnectRendererStore( 78export function createAndConnectRendererStore(
83 ipc: SophieRenderer, 79 ipc: SophieRenderer,
84): RendererStore { 80): RendererStore {
85 const env: RendererEnv = { 81 const env = new RendererEnvImpl(ipc);
86 dispatchMainAction: ipc.dispatchAction,
87 };
88 const store = rendererStore.create({}, env); 82 const store = rendererStore.create({}, env);
83 env.setStore(store);
89 84
90 ipc 85 ipc
91 .onSharedStoreChange({ 86 .onSharedStoreChange({