Task primitives integrated with project and assessment workflows, including template groups, event actions, statuses, phases, and association to assessment questions.
import { useState } from 'react';
import { KanbanBoard, KanbanList, TaskRoadmap, ProgressBar, ProgressCircle } from '@cleen/cleen-components';
import { useTasks } from '@/hooks/useTasks';
export function TaskBoard({ projectId }) {
const [view, setView] = useState('kanban'); // kanban | list | roadmap
const { columns, tasks, move, progress } = useTasks(projectId);
return (
<div className="task-board">
<header className="task-board-head">
<h1>Tasks</h1>
<ProgressCircle value={progress.percent} />
</header>
{view === 'kanban' && <KanbanBoard columns={columns} onMove={move} />}
{view === 'list' && <KanbanList tasks={tasks} />}
{view === 'roadmap' && <TaskRoadmap tasks={tasks} />}
<footer>
<ProgressBar value={progress.percent} max={100} label={`${progress.done}/${progress.total} done`} />
</footer>
</div>
);
}Internal code areas in the licensed Full-Stack codebase that back this module.
ApiProject task endpointsApiAssessment question task-template endpointsA quick visual of how Tasks participates across the CleenUI stack, alongside the named operations it adds to the API surface.
Each operation maps to an endpoint in the licensed C# Web API surface.