From e0cd8932da9abd586c079eeee8a2231e3230dfe9 Mon Sep 17 00:00:00 2001 From: JoeMakuta Date: Mon, 30 Mar 2026 17:36:52 +0200 Subject: [PATCH] Use lazy state initialization in jira an linear issues --- .../components/tool-ui/jira/update-jira-issue.tsx | 8 +++----- .../components/tool-ui/linear/update-linear-issue.tsx | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/surfsense_web/components/tool-ui/jira/update-jira-issue.tsx b/surfsense_web/components/tool-ui/jira/update-jira-issue.tsx index d5ff8fc87..2a6366b51 100644 --- a/surfsense_web/components/tool-ui/jira/update-jira-issue.tsx +++ b/surfsense_web/components/tool-ui/jira/update-jira-issue.tsx @@ -173,7 +173,8 @@ function ApprovalCard({ const issue = context?.issue; const priorities = context?.priorities ?? []; - const initialEditState = { + const [isPanelOpen, setIsPanelOpen] = useState(false); + const [editedArgs, setEditedArgs] = useState(() => ({ summary: actionArgs.new_summary ? String(actionArgs.new_summary) : (issue?.issue_title ?? args.new_summary ?? ""), @@ -183,10 +184,7 @@ function ApprovalCard({ priority: actionArgs.new_priority ? String(actionArgs.new_priority) : (issue?.priority ?? args.new_priority ?? "__none__"), - }; - - const [isPanelOpen, setIsPanelOpen] = useState(false); - const [editedArgs, setEditedArgs] = useState(initialEditState); + })); const [hasPanelEdits, setHasPanelEdits] = useState(false); const openHitlEditPanel = useSetAtom(openHitlEditPanelAtom); diff --git a/surfsense_web/components/tool-ui/linear/update-linear-issue.tsx b/surfsense_web/components/tool-ui/linear/update-linear-issue.tsx index dc5bcd0e8..731bb8012 100644 --- a/surfsense_web/components/tool-ui/linear/update-linear-issue.tsx +++ b/surfsense_web/components/tool-ui/linear/update-linear-issue.tsx @@ -182,7 +182,8 @@ function ApprovalCard({ const priorities = context?.priorities ?? []; const issue = context?.issue; - const initialEditState = { + const [isPanelOpen, setIsPanelOpen] = useState(false); + const [editedArgs, setEditedArgs] = useState(() => ({ title: actionArgs.new_title ? String(actionArgs.new_title) : (issue?.title ?? args.new_title ?? ""), @@ -202,10 +203,7 @@ function ApprovalCard({ labelIds: Array.isArray(actionArgs.new_label_ids) ? (actionArgs.new_label_ids as string[]) : (issue?.current_labels?.map((l) => l.id) ?? []), - }; - - const [isPanelOpen, setIsPanelOpen] = useState(false); - const [editedArgs, setEditedArgs] = useState(initialEditState); + })); const [hasPanelEdits, setHasPanelEdits] = useState(false); const openHitlEditPanel = useSetAtom(openHitlEditPanelAtom);