From 8122c31575d8d0819b7b89edd5de0cda5fa27c9f Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Thu, 20 Nov 2025 16:54:38 -0600 Subject: [PATCH] fix re-render crash in camera group mobile page the callback only needs a single state update for the useeffect to fire --- .../components/filter/CameraGroupSelector.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/web/src/components/filter/CameraGroupSelector.tsx b/web/src/components/filter/CameraGroupSelector.tsx index 349c07fee..c772bc2ba 100644 --- a/web/src/components/filter/CameraGroupSelector.tsx +++ b/web/src/components/filter/CameraGroupSelector.tsx @@ -9,7 +9,7 @@ import useSWR from "swr"; import { MdHome } from "react-icons/md"; import { usePersistedOverlayState } from "@/hooks/use-overlay-state"; import { Button, buttonVariants } from "../ui/button"; -import { useCallback, useMemo, useState } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip"; import { LuPencil, LuPlus } from "react-icons/lu"; import { @@ -280,6 +280,12 @@ function NewGroupDialog({ `${activeGroup}-draggable-layout`, ); + useEffect(() => { + if (!open) { + setEditState("none"); + } + }, [open]); + // callbacks const onDeleteGroup = useCallback( @@ -368,13 +374,7 @@ function NewGroupDialog({ position="top-center" closeButton={true} /> - { - setEditState("none"); - setOpen(open); - }} - > +