diff options
Diffstat (limited to 'packages/preload/src/SophieRendererImpl.ts')
-rw-r--r-- | packages/preload/src/SophieRendererImpl.ts | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/packages/preload/src/SophieRendererImpl.ts b/packages/preload/src/SophieRendererImpl.ts index 1ac8b65..6bffeae 100644 --- a/packages/preload/src/SophieRendererImpl.ts +++ b/packages/preload/src/SophieRendererImpl.ts | |||
@@ -21,12 +21,16 @@ | |||
21 | import { ipcRenderer } from 'electron'; | 21 | import { ipcRenderer } from 'electron'; |
22 | import type { IJsonPatch } from 'mobx-state-tree'; | 22 | import type { IJsonPatch } from 'mobx-state-tree'; |
23 | import { | 23 | import { |
24 | BrowserViewBounds, | ||
25 | browserViewBounds, | ||
24 | MainToRendererIpcMessage, | 26 | MainToRendererIpcMessage, |
27 | PaletteMode, | ||
28 | paletteMode, | ||
25 | RendererToMainIpcMessage, | 29 | RendererToMainIpcMessage, |
26 | sharedStore, | 30 | sharedStore, |
27 | SharedStoreListener, | 31 | SharedStoreListener, |
28 | SharedStoreSnapshotIn, | 32 | SharedStoreSnapshotIn, |
29 | SophieRenderer | 33 | SophieRenderer, |
30 | } from '@sophie/shared'; | 34 | } from '@sophie/shared'; |
31 | 35 | ||
32 | export type MessageSender = (channel: RendererToMainIpcMessage, ...args: unknown[]) => void; | 36 | export type MessageSender = (channel: RendererToMainIpcMessage, ...args: unknown[]) => void; |
@@ -71,8 +75,16 @@ export class SophieRendererImpl implements SophieRenderer { | |||
71 | this.#send(RendererToMainIpcMessage.SharedStoreSnapshotRequest); | 75 | this.#send(RendererToMainIpcMessage.SharedStoreSnapshotRequest); |
72 | } | 76 | } |
73 | 77 | ||
74 | buttonClick(): void { | 78 | setBrowserViewBounds(bounds: BrowserViewBounds): void { |
75 | this.#send(RendererToMainIpcMessage.ButtonClick); | 79 | if (browserViewBounds.safeParse(bounds).success) { |
80 | this.#send(RendererToMainIpcMessage.SetBrowserViewBounds, bounds); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | setPaletteMode(mode: PaletteMode): void { | ||
85 | if (paletteMode.safeParse(mode).success) { | ||
86 | this.#send(RendererToMainIpcMessage.SetPaletteMode, mode); | ||
87 | } | ||
76 | } | 88 | } |
77 | } | 89 | } |
78 | 90 | ||
@@ -89,6 +101,7 @@ export function createSophieRenderer(): SophieRenderer { | |||
89 | 101 | ||
90 | return { | 102 | return { |
91 | setSharedStoreListener: impl.setSharedStoreListener.bind(impl), | 103 | setSharedStoreListener: impl.setSharedStoreListener.bind(impl), |
92 | buttonClick: impl.buttonClick.bind(impl), | 104 | setBrowserViewBounds: impl.setBrowserViewBounds.bind(impl), |
105 | setPaletteMode: impl.setPaletteMode.bind(impl), | ||
93 | }; | 106 | }; |
94 | } | 107 | } |