fix(ui): Tabs laden Ordnerinhalte korrekt; stabilere Datenflüsse (getrennte Hooks für Channels/Sounds)
This commit is contained in:
parent
8019a8dd95
commit
f619cac653
1 changed files with 10 additions and 10 deletions
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue