diff --git a/web/src/components/RealtimeTable/hooks/useRealtimeData.js b/web/src/components/RealtimeTable/hooks/useRealtimeData.js index 31c2dc9..330c2c8 100644 --- a/web/src/components/RealtimeTable/hooks/useRealtimeData.js +++ b/web/src/components/RealtimeTable/hooks/useRealtimeData.js @@ -238,9 +238,13 @@ const useRealtimeData = (formId, sheetName, direction, formType, year) => { }); }); - const unsubscribeProgramAdds = subscribeToProgramAdds((data) => { - const newRow = data.result[1][0]; + const unsubscribeProgramAdds = subscribeToProgramAdds((msg) => { + let newRow = msg.result[1][0]; setData((prevData) => { + const hasRoot = prevData.length > 0 && prevData[0].row_type === "ROOT"; + if (hasRoot) { + newRow = msg.result[1][1]; + } const updateData = structuredClone(prevData); const [row_type, depth, sort_order, dataRow] = newRow; const newRowObject = { @@ -250,8 +254,11 @@ const useRealtimeData = (formId, sheetName, direction, formType, year) => { subRows: [], data: dataRow, }; - const newData = [...updateData, newRowObject]; - return newData; + if (hasRoot) { + updateData[0].subRows.push(newRowObject); + return updateData; + } + return [...updateData, newRowObject]; }); });