diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-01-09 20:33:53 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-01-09 20:33:53 +0100 |
commit | d85f09cbed5f3d2501f791e689011ae127df1cbb (patch) | |
tree | 0ed5be55dd5d3dec1d51eb60e7ff229274030a57 /packages/renderer/src/stores/RendererStore.ts | |
parent | build: Disable single-run eslint-typescript (diff) | |
download | sophie-d85f09cbed5f3d2501f791e689011ae127df1cbb.tar.gz sophie-d85f09cbed5f3d2501f791e689011ae127df1cbb.tar.zst sophie-d85f09cbed5f3d2501f791e689011ae127df1cbb.zip |
build: Add prettier
eslint will also enforce prettier rules, so there is no need to call
prettier separately in CI.
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.ts | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/packages/renderer/src/stores/RendererStore.ts b/packages/renderer/src/stores/RendererStore.ts index e684759..0b78ce1 100644 --- a/packages/renderer/src/stores/RendererStore.ts +++ b/packages/renderer/src/stores/RendererStore.ts | |||
@@ -24,12 +24,7 @@ import { | |||
24 | SophieRenderer, | 24 | SophieRenderer, |
25 | ThemeSource, | 25 | ThemeSource, |
26 | } from '@sophie/shared'; | 26 | } from '@sophie/shared'; |
27 | import { | 27 | import { applySnapshot, applyPatch, Instance, types } from 'mobx-state-tree'; |
28 | applySnapshot, | ||
29 | applyPatch, | ||
30 | Instance, | ||
31 | types, | ||
32 | } from 'mobx-state-tree'; | ||
33 | 28 | ||
34 | import { getLogger } from '../utils/log'; | 29 | import { getLogger } from '../utils/log'; |
35 | 30 | ||
@@ -38,29 +33,31 @@ import { getEnv } from './RendererEnv'; | |||
38 | 33 | ||
39 | const log = getLogger('RendererStore'); | 34 | const log = getLogger('RendererStore'); |
40 | 35 | ||
41 | export const rendererStore = types.model('RendererStore', { | 36 | export const rendererStore = types |
42 | shared: types.optional(sharedStore, {}), | 37 | .model('RendererStore', { |
43 | }).actions((self) => ({ | 38 | shared: types.optional(sharedStore, {}), |
44 | setBrowserViewBounds(browserViewBounds: BrowserViewBounds): void { | 39 | }) |
45 | getEnv(self).dispatchMainAction({ | 40 | .actions((self) => ({ |
46 | action: 'set-browser-view-bounds', | 41 | setBrowserViewBounds(browserViewBounds: BrowserViewBounds): void { |
47 | browserViewBounds, | 42 | getEnv(self).dispatchMainAction({ |
48 | }); | 43 | action: 'set-browser-view-bounds', |
49 | }, | 44 | browserViewBounds, |
50 | setThemeSource(themeSource: ThemeSource): void { | 45 | }); |
51 | getEnv(self).dispatchMainAction({ | 46 | }, |
52 | action: 'set-theme-source', | 47 | setThemeSource(themeSource: ThemeSource): void { |
53 | themeSource, | 48 | getEnv(self).dispatchMainAction({ |
54 | }); | 49 | action: 'set-theme-source', |
55 | }, | 50 | themeSource, |
56 | toggleDarkMode(): void { | 51 | }); |
57 | if (self.shared.shouldUseDarkColors) { | 52 | }, |
58 | this.setThemeSource('light'); | 53 | toggleDarkMode(): void { |
59 | } else { | 54 | if (self.shared.shouldUseDarkColors) { |
60 | this.setThemeSource('dark'); | 55 | this.setThemeSource('light'); |
61 | } | 56 | } else { |
62 | }, | 57 | this.setThemeSource('dark'); |
63 | })); | 58 | } |
59 | }, | ||
60 | })); | ||
64 | 61 | ||
65 | export interface RendererStore extends Instance<typeof rendererStore> {} | 62 | export interface RendererStore extends Instance<typeof rendererStore> {} |
66 | 63 | ||
@@ -72,22 +69,26 @@ export interface RendererStore extends Instance<typeof rendererStore> {} | |||
72 | * | 69 | * |
73 | * @param ipc The `sophieRenderer` context bridge. | 70 | * @param ipc The `sophieRenderer` context bridge. |
74 | */ | 71 | */ |
75 | export function createAndConnectRendererStore(ipc: SophieRenderer): RendererStore { | 72 | export function createAndConnectRendererStore( |
73 | ipc: SophieRenderer, | ||
74 | ): RendererStore { | ||
76 | const env: RendererEnv = { | 75 | const env: RendererEnv = { |
77 | dispatchMainAction: ipc.dispatchAction, | 76 | dispatchMainAction: ipc.dispatchAction, |
78 | }; | 77 | }; |
79 | const store = rendererStore.create({}, env); | 78 | const store = rendererStore.create({}, env); |
80 | 79 | ||
81 | ipc.onSharedStoreChange({ | 80 | ipc |
82 | onSnapshot(snapshot) { | 81 | .onSharedStoreChange({ |
83 | applySnapshot(store.shared, snapshot); | 82 | onSnapshot(snapshot) { |
84 | }, | 83 | applySnapshot(store.shared, snapshot); |
85 | onPatch(patch) { | 84 | }, |
86 | applyPatch(store.shared, patch); | 85 | onPatch(patch) { |
87 | }, | 86 | applyPatch(store.shared, patch); |
88 | }).catch((err) => { | 87 | }, |
89 | log.error('Failed to connect to shared store', err); | 88 | }) |
90 | }); | 89 | .catch((err) => { |
90 | log.error('Failed to connect to shared store', err); | ||
91 | }); | ||
91 | 92 | ||
92 | return store; | 93 | return store; |
93 | } | 94 | } |