From 402eb53aeaecfb2ca5c8ffa0a752a60c47b20f36 Mon Sep 17 00:00:00 2001 From: DMYTRO ZHARKOV Date: Fri, 14 Jan 2022 12:16:20 +0100 Subject: [PATCH] Fix store crash Signed-off-by: DMYTRO ZHARKOV --- .../components/+preferences/terminal.tsx | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/renderer/components/+preferences/terminal.tsx b/src/renderer/components/+preferences/terminal.tsx index 0830c4ecef..2942f8b27e 100644 --- a/src/renderer/components/+preferences/terminal.tsx +++ b/src/renderer/components/+preferences/terminal.tsx @@ -28,7 +28,11 @@ import { Switch } from "../switch"; export const Terminal = observer(() => { const userStore = UserStore.getInstance(); - const [shell, setShell] = React.useState(userStore.shell || ""); + const [terminalSettings, setTerminalSettings] = React.useState({ + shell: userStore.shell || "", + terminalFontSize: userStore.terminalFontSize, + terminalFontFamily: userStore.terminalFontFamily, + }); const defaultShell = process.env.SHELL || process.env.PTYSHELL || ( @@ -43,9 +47,12 @@ export const Terminal = observer(() => { userStore.shell = shell} + value={terminalSettings.shell} + onChange={(value) => setTerminalSettings({ + ...terminalSettings, + shell: value, + })} + onBlur={() => userStore.shell = terminalSettings.shell} /> @@ -65,8 +72,11 @@ export const Terminal = observer(() => { type="number" min={10} validators={InputValidators.isNumber} - value={userStore.terminalFontSize.toString()} - onChange={value => userStore.terminalFontSize = Number(value)} + value={terminalSettings.terminalFontSize.toString()} + onChange={(value) => setTerminalSettings({ + ...terminalSettings, + terminalFontSize: Number(value), + })} />
@@ -74,8 +84,11 @@ export const Terminal = observer(() => { userStore.terminalFontFamily = value} + value={terminalSettings.terminalFontFamily} + onChange={(value) => setTerminalSettings({ + ...terminalSettings, + terminalFontFamily: value.toString(), + })} />
);