From d303f2e3415237e1a519db21ad4e089c2ba7e9f9 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Thu, 23 Dec 2021 21:29:26 +0100 Subject: feat: Add BrowserView and synchronize its position --- packages/renderer/src/stores/RootStore.ts | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) (limited to 'packages/renderer/src/stores') diff --git a/packages/renderer/src/stores/RootStore.ts b/packages/renderer/src/stores/RootStore.ts index f24ea4d..c6533ba 100644 --- a/packages/renderer/src/stores/RootStore.ts +++ b/packages/renderer/src/stores/RootStore.ts @@ -26,10 +26,16 @@ import { Instance, types } from 'mobx-state-tree'; -import { sharedStore, SophieRenderer } from '@sophie/shared'; +import { + BrowserViewBounds, + emptySharedStore, + PaletteMode, + sharedStore, + SophieRenderer, +} from '@sophie/shared'; export interface RootEnv { - ipc: SophieRenderer; + ipc: Omit; } /** @@ -46,8 +52,18 @@ export function getEnv(model: IAnyStateTreeNode): RootEnv { export const rootStore = types.model('RootStore', { shared: sharedStore, }).actions((self) => ({ - buttonClick() { - getEnv(self).ipc.buttonClick(); + setBrowserViewBounds(bounds: BrowserViewBounds) { + getEnv(self).ipc.setBrowserViewBounds(bounds); + }, + setPaletteMode(mode: PaletteMode) { + getEnv(self).ipc.setPaletteMode(mode); + }, + toggleDarkMode() { + if (self.shared.shouldUseDarkColors) { + this.setPaletteMode('light'); + } else { + this.setPaletteMode('dark'); + } }, })); @@ -63,7 +79,7 @@ export interface RootStore extends Instance {} */ export function createAndConnectRootStore(ipc: SophieRenderer): RootStore { const store = rootStore.create({ - shared: {}, + shared: emptySharedStore, }, { ipc, }); -- cgit v1.2.3-54-g00ecf