From 600da636e2c98b906d2bfaba15d8544ab3f52dda Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Tue, 6 Aug 2024 13:01:46 +0200 Subject: [PATCH] simplify and fix bug around same setting --- packages/web/src/components/splitView.tsx | 4 ++-- packages/web/src/uiUtils.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/web/src/components/splitView.tsx b/packages/web/src/components/splitView.tsx index d8538d524e..1a5dc47a92 100644 --- a/packages/web/src/components/splitView.tsx +++ b/packages/web/src/components/splitView.tsx @@ -43,8 +43,8 @@ export const SplitView: React.FC = ({ main, }) => { const defaultSize = Math.max(minSidebarSize, sidebarSize) * window.devicePixelRatio; - const [hSize, setHSize] = useSettingOrState(settingName + '.' + orientation + ':size', defaultSize, !!settingName); - const [vSize, setVSize] = useSettingOrState(settingName + '.' + orientation + ':size', defaultSize, !!settingName); + const [hSize, setHSize] = useSettingOrState(settingName ? `${settingName}.horizontal:size` : undefined, defaultSize); + const [vSize, setVSize] = useSettingOrState(settingName ? `${settingName}.vertical:size` : undefined, defaultSize); const [resizing, setResizing] = React.useState<{ offset: number, size: number } | null>(null); const [measure, ref] = useMeasure(); diff --git a/packages/web/src/uiUtils.ts b/packages/web/src/uiUtils.ts index d53a0f55c5..0744c9a993 100644 --- a/packages/web/src/uiUtils.ts +++ b/packages/web/src/uiUtils.ts @@ -157,10 +157,10 @@ export function useSetting(name: string, defaultValue: S, title?: string): [S return [value, setValueWrapper, setting]; } -export function useSettingOrState(name: string | undefined, defaultValue: S, persist?: boolean): [S, (v: S) => void] { +export function useSettingOrState(name: string | undefined, defaultValue: S): [S, (v: S) => void] { const [settingValue, settingSet] = useSetting(name ?? 'unused', defaultValue); const state = React.useState(defaultValue); - return persist ? [settingValue, settingSet] : state; + return name ? [settingValue, settingSet] : state; } export class Settings {