From f619cac653bc9e5d5e24dbc0ac8cc2eb6235eec9 Mon Sep 17 00:00:00 2001 From: vibe-bot Date: Fri, 8 Aug 2025 03:17:38 +0200 Subject: [PATCH] =?UTF-8?q?fix(ui):=20Tabs=20laden=20Ordnerinhalte=20korre?= =?UTF-8?q?kt;=20stabilere=20Datenfl=C3=BCsse=20(getrennte=20Hooks=20f?= =?UTF-8?q?=C3=BCr=20Channels/Sounds)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/App.tsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index 93abf09..2abc566 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -17,10 +17,7 @@ export default function App() { useEffect(() => { (async () => { try { - const [s, c] = await Promise.all([fetchSounds(undefined, activeFolder), fetchChannels()]); - setSounds(s.items); - setTotal(s.total); - setFolders(s.folders); + const c = await fetchChannels(); setChannels(c); const stored = localStorage.getItem('selectedChannel'); 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}`); } } catch (e: any) { - setError(e?.message || 'Fehler beim Laden'); + setError(e?.message || 'Fehler beim Laden der Channels'); } })(); + }, []); - const interval = setInterval(async () => { + useEffect(() => { + (async () => { try { const s = await fetchSounds(query, activeFolder); setSounds(s.items); setTotal(s.total); setFolders(s.folders); - } catch {} - }, 10000); - return () => clearInterval(interval); - }, [activeFolder]); + } catch (e: any) { + setError(e?.message || 'Fehler beim Laden der Sounds'); + } + })(); + }, [activeFolder, query]); useEffect(() => { if (selected) localStorage.setItem('selectedChannel', selected);