aboutsummaryrefslogtreecommitdiffstats
path: root/packages/renderer
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <kristof@marussy.com>2022-03-30 13:34:40 +0200
committerLibravatar Kristóf Marussy <kristof@marussy.com>2022-05-16 00:54:57 +0200
commit0f8c96d26a74865a35440338739de037bf984315 (patch)
tree77767c4107b72ee763115ddb4ecad64d898bdafd /packages/renderer
parentfeat(main): Add localization support (diff)
downloadsophie-0f8c96d26a74865a35440338739de037bf984315.tar.gz
sophie-0f8c96d26a74865a35440338739de037bf984315.tar.zst
sophie-0f8c96d26a74865a35440338739de037bf984315.zip
feat(main): Translation hot reloading during development
Signed-off-by: Kristóf Marussy <kristof@marussy.com>
Diffstat (limited to 'packages/renderer')
-rw-r--r--packages/renderer/src/devTools.ts9
-rw-r--r--packages/renderer/src/index.tsx4
2 files changed, 9 insertions, 4 deletions
diff --git a/packages/renderer/src/devTools.ts b/packages/renderer/src/devTools.ts
index cb695c3..1fe39f7 100644
--- a/packages/renderer/src/devTools.ts
+++ b/packages/renderer/src/devTools.ts
@@ -52,13 +52,18 @@ export async function exposeToReduxDevtools(
52} 52}
53 53
54/** 54/**
55 * Sends a message to the main process to reload all services when 55 * Sends a message to the main process to reload all services or translations when
56 * `build/watch.js` sends a reload event on bundle write. 56 * `build/watch.js` sends a reload event on bundle write.
57 */ 57 */
58export function hotReloadServices(): void { 58export function hotReload(): void {
59 import.meta.hot?.on('sophie:reload-services', () => { 59 import.meta.hot?.on('sophie:reload-services', () => {
60 window.sophieRenderer.dispatchAction({ 60 window.sophieRenderer.dispatchAction({
61 action: 'reload-all-services', 61 action: 'reload-all-services',
62 }); 62 });
63 }); 63 });
64 import.meta.hot?.on('sophie:reload-translations', () => {
65 window.sophieRenderer.dispatchAction({
66 action: 'reload-all-translations',
67 });
68 });
64} 69}
diff --git a/packages/renderer/src/index.tsx b/packages/renderer/src/index.tsx
index e87ab8b..54e157c 100644
--- a/packages/renderer/src/index.tsx
+++ b/packages/renderer/src/index.tsx
@@ -30,7 +30,7 @@ import { render } from 'react-dom';
30import App from './components/App'; 30import App from './components/App';
31import StoreProvider from './components/StoreProvider'; 31import StoreProvider from './components/StoreProvider';
32import ThemeProvider from './components/ThemeProvider'; 32import ThemeProvider from './components/ThemeProvider';
33import { exposeToReduxDevtools, hotReloadServices } from './devTools'; 33import { exposeToReduxDevtools, hotReload } from './devTools';
34import { createAndConnectRendererStore } from './stores/RendererStore'; 34import { createAndConnectRendererStore } from './stores/RendererStore';
35import { getLogger } from './utils/log'; 35import { getLogger } from './utils/log';
36 36
@@ -39,7 +39,7 @@ const isDevelopment = import.meta.env.MODE === 'development';
39const log = getLogger('index'); 39const log = getLogger('index');
40 40
41if (isDevelopment) { 41if (isDevelopment) {
42 hotReloadServices(); 42 hotReload();
43} 43}
44 44
45const store = createAndConnectRendererStore(window.sophieRenderer); 45const store = createAndConnectRendererStore(window.sophieRenderer);