"use client"; import { useState } from "react"; import { useParams, useRouter } from "next/navigation"; import { ArrowLeft } from "lucide-react"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Button } from "@/components/ui/button"; import { Skeleton } from "@/components/ui/skeleton"; import { TaskInfoCard } from "@/components/tasks/task-info-card"; import { CommentSection } from "@/components/tasks/comment-section"; import { FileSection } from "@/components/tasks/file-section"; import { FileUploadDialog } from "@/components/tasks/file-upload-dialog"; import { TaskActions } from "@/components/tasks/task-actions"; import { useTask } from "@/hooks"; import { Badge } from "@/components/ui/badge"; /** * Task Detail Page * Zeigt alle Details einer einzelnen Task an * - Task-Info-Card mit allen Basis-Informationen * - Comment-Section für Kommentare * - File-Section für Datei-Anhänge * - Nur shadcn/ui Komponenten */ export default function TaskDetailPage() { const params = useParams(); const router = useRouter(); const taskId = params.id as string; /** * State für File-Upload-Dialog */ const [uploadDialogOpen, setUploadDialogOpen] = useState(false); /** * Hook zum Abrufen der Task-Daten */ const { data: task, isLoading, error } = useTask(taskId); /** * Handler für Zurück-Navigation */ const handleBack = () => { router.push("/dashboard/tasks"); }; /** * Loading State */ if (isLoading) { return (
Fehler beim Laden der Task. Bitte versuchen Sie es erneut.
{task.wo}