# task-management-ui > Build complete task management interfaces with proper forms, modals, filters, and list views. - Author: Muhammad Sultan - Repository: sutanSultan/Heckathon-2 - Version: 20260208201009 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-08 - Source: https://github.com/sutanSultan/Heckathon-2 - Web: https://mule.run/skillshub/@@sutanSultan/Heckathon-2~task-management-ui:20260208201009 --- # Task Management UI Skill Build complete task management interfaces with proper forms, modals, filters, and list views. ## Core Components ### Task List Page ```typescript // app/tasks/page.tsx 'use client'; import { useState, useEffect } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { Plus, Filter } from 'lucide-react'; import TaskCard from '@/components/tasks/task-card'; import TaskFormModal from '@/components/tasks/task-form-modal'; import TaskFilters from '@/components/tasks/task-filters'; import { getTasks } from '@/lib/api/tasks'; export default function TasksPage() { const [tasks, setTasks] = useState([]); const [isModalOpen, setIsModalOpen] = useState(false); const [filters, setFilters] = useState({ status: 'all', priority: 'all', tag: '' }); useEffect(() => { loadTasks(); }, [filters]); const loadTasks = async () => { const data = await getTasks(filters); setTasks(data); }; const filteredTasks = tasks.filter(task => { if (filters.status !== 'all' && task.status !== filters.status) return false; if (filters.priority !== 'all' && task.priority !== filters.priority) return false; if (filters.tag && !task.tags?.includes(filters.tag)) return false; return true; }); return (
{filteredTasks.length} task{filteredTasks.length !== 1 ? 's' : ''}
Try changing your filters or create a new task
{task.description}
)}