"use client"; import { useState, useEffect } from "react"; import Link from "next/link"; import { Card, CardHeader, CardContent } from "@/components/ui/Card"; import Button from "@/components/ui/Button"; import Badge from "@/components/ui/Badge"; import PageContainer from "@/components/ui/PageContainer"; import PageHeader from "@/components/ui/PageHeader"; import { useTranslation } from "@/lib/i18n"; export default function TaskSetsPage() { const { t } = useTranslation(); const [taskSets, setTaskSets] = useState([]); const [loading, setLoading] = useState(true); const [filter, setFilter] = useState("all"); useEffect(() => { const fetchTaskSets = async () => { try { const response = await fetch('/api/task-sets'); if (response.ok) { const data = await response.json(); setTaskSets(data); } else { console.error('Failed to fetch task sets'); } } catch (error) { console.error('Error fetching task sets:', error); } finally { setLoading(false); } }; fetchTaskSets(); }, []); const filteredTaskSets = taskSets.filter(taskSet => { if (filter === "all") return true; return taskSet.task_category === filter; }); const getTaskCategoryBadge = (taskCategory) => { const colors = { design: "bg-blue-100 text-blue-800", construction: "bg-green-100 text-green-800" }; return ( {taskCategory === "design" ? "Zadania projektowe" : taskCategory === "construction" ? "Zadania budowlane" : taskCategory} ); }; if (loading) { return (
Ładowanie...
); } return ( } /> {/* Filter buttons */}
{["all", "design", "construction"].map(type => ( ))}
{/* Task sets grid */}
{filteredTaskSets.map((taskSet) => (

{taskSet.name}

{taskSet.description && (

{taskSet.description}

)}
{getTaskCategoryBadge(taskSet.task_category)}
Szablony zadań:{" "} {taskSet.templates?.length || 0}
{taskSet.templates && taskSet.templates.length > 0 && (
    {taskSet.templates.slice(0, 3).map((template) => (
  • {template.name}
  • ))} {taskSet.templates.length > 3 && (
  • ...i {taskSet.templates.length - 3} więcej
  • )}
)}
))}
{filteredTaskSets.length === 0 && (
{filter === "all" ? "Brak zestawów zadań" : `Brak zestawów zadań dla typu "${filter}"` }
)}
); }