From 0e5eb113b03be253437620624dfc94cfb0188fd4 Mon Sep 17 00:00:00 2001 From: MathieuG-P <40181755+Zagrios@users.noreply.github.com> Date: Wed, 28 Jun 2023 21:43:19 +0200 Subject: [PATCH] [hotfix] fix maps disappear when switch tab in shared contents --- .../local-maps-list-panel.component.tsx | 2 +- src/renderer/hooks/use-change-once.hook.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx b/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx index 0d113bee..8e3b2fc9 100644 --- a/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx +++ b/src/renderer/components/maps-mangement-components/local-maps-list-panel.component.tsx @@ -42,7 +42,7 @@ export const LocalMapsListPanel = forwardRef(({version, className, filter, searc const [selectedMaps$] = useState(new BehaviorSubject([])); const [itemPerRow, setItemPerRow] = useState(2); const [listHeight, setListHeight] = useState(0); - const isActiveOnce = useChangeOnce(isActive); + const isActiveOnce = useChangeOnce(isActive, true); const [loadPercent$] = useState(new BehaviorSubject(0)); diff --git a/src/renderer/hooks/use-change-once.hook.ts b/src/renderer/hooks/use-change-once.hook.ts index 09e64190..fee5c8bc 100644 --- a/src/renderer/hooks/use-change-once.hook.ts +++ b/src/renderer/hooks/use-change-once.hook.ts @@ -1,9 +1,9 @@ import equal from "fast-deep-equal"; import { useEffect, useRef, useState } from "react"; -export function useChangeOnce(initialValue: T): T { +export function useChangeOnce(initialValue: T, onlyFirstIfTruthy?: boolean): T { const [trackedValue, setTrackedValue] = useState(initialValue); - const didChangeOnceRef = useRef(false); + const didChangeOnceRef = useRef(onlyFirstIfTruthy ? !!initialValue : false); useEffect(() => { if(didChangeOnceRef.current || equal(initialValue, trackedValue)){ return; }