refactor(messages): remove text channel filter and channel-section grouping
This commit is contained in:
@@ -11,9 +11,7 @@ import {
|
||||
} from "./features/messages/hooks/useMessages";
|
||||
import {
|
||||
type ActiveSpeaker,
|
||||
type Channel,
|
||||
getAppConfig,
|
||||
getTextChannels,
|
||||
type MediaState,
|
||||
type MessageRecord,
|
||||
} from "./shared/api/client";
|
||||
@@ -62,8 +60,6 @@ export default function App() {
|
||||
!!localStorage.getItem("admin-password"),
|
||||
);
|
||||
const [monitorGuildId, setMonitorGuildId] = useState("");
|
||||
const [textChannels, setTextChannels] = useState<Channel[]>([]);
|
||||
const [selectedMessageChannel, setSelectedMessageChannel] = useState<string>("");
|
||||
|
||||
const audio = useAudioPlayback();
|
||||
const activeTab = uiState.activeTab || "live";
|
||||
@@ -117,7 +113,7 @@ export default function App() {
|
||||
},
|
||||
onAttachmentUploaded: () =>
|
||||
messages
|
||||
.fetchMessages(monitorGuildId || undefined, selectedMessageChannel || undefined)
|
||||
.fetchMessages(monitorGuildId || undefined)
|
||||
.catch(() => undefined),
|
||||
onMediaState: (state) => media.setMediaState(state as MediaState),
|
||||
onVoiceRecordingUploaded: (d) =>
|
||||
@@ -145,38 +141,22 @@ export default function App() {
|
||||
voice.loadVoiceChannels(selectedVoiceGuild).catch(() => undefined);
|
||||
}, [selectedVoiceGuild, voice.loadVoiceChannels]);
|
||||
|
||||
// Load text channels when monitor guild changes (Messages tab)
|
||||
useEffect(() => {
|
||||
if (monitorGuildId)
|
||||
getTextChannels(monitorGuildId)
|
||||
.then(setTextChannels)
|
||||
.catch(() => undefined);
|
||||
}, [monitorGuildId]);
|
||||
|
||||
// Auto-fetch messages for the monitor guild
|
||||
useEffect(() => {
|
||||
if (monitorGuildId)
|
||||
messages
|
||||
.fetchMessages(monitorGuildId, selectedMessageChannel || undefined)
|
||||
.fetchMessages(monitorGuildId)
|
||||
.catch(() => undefined);
|
||||
}, [monitorGuildId, messages.fetchMessages]);
|
||||
|
||||
// Re-fetch when channel filter changes
|
||||
useEffect(() => {
|
||||
if (monitorGuildId)
|
||||
messages
|
||||
.fetchMessages(monitorGuildId, selectedMessageChannel || undefined)
|
||||
.catch(() => undefined);
|
||||
}, [selectedMessageChannel, monitorGuildId, messages.fetchMessages]);
|
||||
|
||||
// Periodic refetch — keeps dashboard in sync even if WS events missed
|
||||
useEffect(() => {
|
||||
if (!monitorGuildId) return;
|
||||
const interval = setInterval(() => {
|
||||
messages.fetchMessages(monitorGuildId, selectedMessageChannel || undefined).catch(() => undefined);
|
||||
messages.fetchMessages(monitorGuildId).catch(() => undefined);
|
||||
}, 15_000);
|
||||
return () => clearInterval(interval);
|
||||
}, [monitorGuildId, messages.fetchMessages, selectedMessageChannel]);
|
||||
}, [monitorGuildId, messages.fetchMessages]);
|
||||
|
||||
return (
|
||||
<DashboardLayout
|
||||
@@ -234,9 +214,6 @@ export default function App() {
|
||||
onLoadMore={messages.loadMore}
|
||||
hasMore={messages.hasMore}
|
||||
loadingMore={messages.loadingMore}
|
||||
textChannels={textChannels}
|
||||
selectedChannel={selectedMessageChannel}
|
||||
onChannelChange={setSelectedMessageChannel}
|
||||
/>
|
||||
) : (
|
||||
<AnalyticsErrorBoundary>
|
||||
|
||||
Reference in New Issue
Block a user