From 38367777b7fc03002a02e9661502f86b13c0eb73 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Fri, 22 Nov 2024 14:05:51 +0100 Subject: [PATCH] ui: fix ws panel crash --- .../shared/DevTools/NetworkPanel/WSPanel.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/frontend/app/components/shared/DevTools/NetworkPanel/WSPanel.tsx b/frontend/app/components/shared/DevTools/NetworkPanel/WSPanel.tsx index b17395eab..f43fddd1b 100644 --- a/frontend/app/components/shared/DevTools/NetworkPanel/WSPanel.tsx +++ b/frontend/app/components/shared/DevTools/NetworkPanel/WSPanel.tsx @@ -23,9 +23,9 @@ const lineLength = 40; function WSPanel({ socketMsgList, onClose }: Props) { const [query, setQuery] = React.useState(''); const [list, setList] = React.useState(socketMsgList); - const [selectedRow, setSelectedRow] = React.useState(null); + const [selectedRow, setSelectedRow] = React.useState<{ msg: SocketMsg, id: number } | null>(null); - const onQueryChange = (e) => { + const onQueryChange = (e: any) => { setQuery(e.target.value); const newList = filterList(socketMsgList, e.target.value, [ 'data', @@ -69,15 +69,16 @@ function WSPanel({ socketMsgList, onClose }: Props) { position: 'relative', }} > - {list.map((msg) => ( + {list.map((msg, i) => ( setSelectedRow(msg)} + onSelect={() => setSelectedRow({ msg, id: i })} + isSelected={selectedRow ? selectedRow.id === i : false} /> ))} {selectedRow ? ( - setSelectedRow(null)} /> + setSelectedRow(null)} /> ) : null} @@ -127,7 +128,7 @@ function MsgDirection({ dir }: { dir: 'up' | 'down' }) { ); } -function Row({ msg, onSelect }: { msg: SocketMsg; onSelect: () => void }) { +function Row({ msg, onSelect, isSelected }: { msg: SocketMsg; isSelected: boolean; onSelect: () => void }) { return ( <>
void }) { 'rounded-full font-bold text-xl p-2 bg-white w-6 h-6 flex items-center justify-center' } > - {isOpen ? '-' : '+'} + {isSelected ? '-' : '+'}
) : null}