+
+
Aufgaben
+ }>
+ + Neue Aufgabe
+
+
+
+
+
+
+
+
+
+ {isLoading ? Lädt…
: null}
+ {isError ? (
+
+ Aufgaben konnten nicht geladen werden.
+
+ ) : null}
+
+ {tasks ? (
+
+
+
+ Titel
+ Priorität
+ Fällig
+ Status
+ Aktion
+
+
+
+ {visibleTasks.map((task) => (
+
+ {task.title}
+ {task.priority}
+
+ {task.dueDate ? new Date(task.dueDate).toLocaleDateString("de-DE") : "—"}
+
+
+
+ {task.status}
+
+
+
+ {task.status !== "DONE" && task.status !== "CANCELLED" ? (
+
+ ) : null}
+
+
+ ))}
+
+
+ ) : null}
+
+ );
+}
diff --git a/ApiCore-Frontend/src/lib/tasks/api.ts b/ApiCore-Frontend/src/lib/tasks/api.ts
new file mode 100644
index 0000000..649512e
--- /dev/null
+++ b/ApiCore-Frontend/src/lib/tasks/api.ts
@@ -0,0 +1,28 @@
+import { apiFetch } from "@/lib/auth/api-client";
+import { CreateTaskInput, Task, TaskFilter, UpdateTaskInput } from "./types";
+
+export function fetchTasks(filter: TaskFilter): Promise