diff --git a/app/page.tsx b/app/page.tsx index 2949f7a..ce51a1e 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -32,10 +32,11 @@ export default function TodoApp() { }); // Lade Aufgaben vom Server mit Paginierung und Sortierung - const loadAufgaben = async (page: number = 1) => { + const loadAufgaben = async (page: number = 1, sort: SortOption = sortierung) => { try { setIsLoading(true); - const response = await fetch(`/api/tasks?page=${page}&limit=10&sort=${sortierung}`); + setSortierung(sort); + const response = await fetch(`/api/tasks?page=${page}&limit=10&sort=${sort}`); if (response.ok) { const data = await response.json(); setAufgaben(data.aufgaben); @@ -50,7 +51,7 @@ export default function TodoApp() { // Initial laden useEffect(() => { - loadAufgaben(1); + loadAufgaben(1, sortierung); }, []); // Aufgaben werden bereits serverseitig sortiert, keine clientseitige Sortierung nötig @@ -71,7 +72,7 @@ export default function TodoApp() { if (response.ok) { setNeueAufgabe(''); // Zur ersten Seite zurück, wenn neue Aufgabe hinzugefügt wird - await loadAufgaben(1); + await loadAufgaben(1, sortierung); } } catch (error) { console.error('Fehler beim Hinzufügen:', error); @@ -87,8 +88,8 @@ export default function TodoApp() { }); if (response.ok) { - // Aktuelle Seite neu laden oder zur vorherigen, wenn leer - await loadAufgaben(pagination.page); + // Aktuelle Seite neu laden + await loadAufgaben(pagination.page, sortierung); } } catch (error) { console.error('Fehler beim Löschen:', error); @@ -103,18 +104,17 @@ export default function TodoApp() { }); if (response.ok) { - await loadAufgaben(pagination.page); + await loadAufgaben(pagination.page, sortierung); } } catch (error) { console.error('Fehler beim Aktualisieren:', error); } }; - // Sortierung ändern und Aufgaben neu laden + // Sortierung ändern und Aufgaben auf aktueller Seite neu laden const handleSortierungAendern = async (e: React.ChangeEvent) => { const neueSortierung = e.target.value as SortOption; - setSortierung(neueSortierung); - await loadAufgaben(1); + await loadAufgaben(pagination.page, neueSortierung); }; return ( diff --git a/todo.db b/todo.db index d1d5f94..0c7a716 100644 Binary files a/todo.db and b/todo.db differ