From 3ddc6d196b6d5e7a32c1f44b1b057922e669dd7b Mon Sep 17 00:00:00 2001
From: Jeffrey C <990135+JeffreyBytes@users.noreply.github.com>
Date: Thu, 15 Jan 2026 10:23:20 -0600
Subject: [PATCH] Fix: restore StreamsTable loading feedback
---
frontend/src/components/tables/StreamsTable.jsx | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/frontend/src/components/tables/StreamsTable.jsx b/frontend/src/components/tables/StreamsTable.jsx
index 2d7de36e..64bf425a 100644
--- a/frontend/src/components/tables/StreamsTable.jsx
+++ b/frontend/src/components/tables/StreamsTable.jsx
@@ -50,6 +50,7 @@ import {
Modal,
NumberInput,
Radio,
+ LoadingOverlay,
} from '@mantine/core';
import { useNavigate } from 'react-router-dom';
import useSettingsStore from '../../store/settings';
@@ -582,6 +583,7 @@ const StreamsTable = ({ onReady }) => {
const executeDeleteStream = async (id) => {
setDeleting(true);
+ setIsLoading(true);
try {
await API.deleteStream(id);
// Clear the selection for the deleted stream
@@ -589,6 +591,7 @@ const StreamsTable = ({ onReady }) => {
table.setSelectedTableIds([]);
} finally {
setDeleting(false);
+ setIsLoading(false);
setConfirmDeleteOpen(false);
}
};
@@ -607,20 +610,27 @@ const StreamsTable = ({ onReady }) => {
const executeDeleteStreams = async () => {
setDeleting(true);
+ setIsLoading(true);
try {
await API.deleteStreams(selectedStreamIds);
setSelectedStreamIds([]);
table.setSelectedTableIds([]);
} finally {
setDeleting(false);
+ setIsLoading(false);
setConfirmDeleteOpen(false);
}
};
- const closeStreamForm = () => {
+ const closeStreamForm = async () => {
setStream(null);
setModalOpen(false);
- API.requeryStreams();
+ setIsLoading(true);
+ try {
+ await API.requeryStreams();
+ } finally {
+ setIsLoading(false);
+ }
};
// Single channel creation functions
@@ -1181,6 +1191,7 @@ const StreamsTable = ({ onReady }) => {
borderRadius: 'var(--mantine-radius-default)',
}}
>
+