fix(ui): Tabs laden Ordnerinhalte korrekt; stabilere Datenflüsse (getrennte Hooks für Channels/Sounds)

This commit is contained in:
vibe-bot 2025-08-08 03:17:38 +02:00
parent 8019a8dd95
commit f619cac653

View file

@ -17,10 +17,7 @@ export default function App() {
useEffect(() => { useEffect(() => {
(async () => { (async () => {
try { try {
const [s, c] = await Promise.all([fetchSounds(undefined, activeFolder), fetchChannels()]); const c = await fetchChannels();
setSounds(s.items);
setTotal(s.total);
setFolders(s.folders);
setChannels(c); setChannels(c);
const stored = localStorage.getItem('selectedChannel'); const stored = localStorage.getItem('selectedChannel');
if (stored && c.find(x => `${x.guildId}:${x.channelId}` === stored)) { if (stored && c.find(x => `${x.guildId}:${x.channelId}` === stored)) {
@ -29,20 +26,23 @@ export default function App() {
setSelected(`${c[0].guildId}:${c[0].channelId}`); setSelected(`${c[0].guildId}:${c[0].channelId}`);
} }
} catch (e: any) { } catch (e: any) {
setError(e?.message || 'Fehler beim Laden'); setError(e?.message || 'Fehler beim Laden der Channels');
} }
})(); })();
}, []);
const interval = setInterval(async () => { useEffect(() => {
(async () => {
try { try {
const s = await fetchSounds(query, activeFolder); const s = await fetchSounds(query, activeFolder);
setSounds(s.items); setSounds(s.items);
setTotal(s.total); setTotal(s.total);
setFolders(s.folders); setFolders(s.folders);
} catch {} } catch (e: any) {
}, 10000); setError(e?.message || 'Fehler beim Laden der Sounds');
return () => clearInterval(interval); }
}, [activeFolder]); })();
}, [activeFolder, query]);
useEffect(() => { useEffect(() => {
if (selected) localStorage.setItem('selectedChannel', selected); if (selected) localStorage.setItem('selectedChannel', selected);