Modules
Projects module for PhoenixKit.
Activity logging wrapper for the Projects module.
Atom → translated-string dispatcher for Projects context errors.
Tiny locale-aware date/time formatting helpers used by the projects UI.
Centralized path helpers for the Projects module.
Context for projects, tasks, assignments, and dependencies.
Real-time updates for the projects module, backed by
PhoenixKit.PubSub.Manager.
A task instance within a project. Copies description and duration from the task template at creation time — editable independently.
A dependency link: assignment_uuid cannot start until depends_on_uuid
is done. Both must be in the same project (enforced at the context layer).
A project container. Can start immediately (set up tasks first, then mark as started) or be scheduled for a future date.
Reusable task template with title, description, estimated duration, and optional default assignee.
Default dependency between task templates. When both tasks are added to the same project, the assignment dependency is auto-created.
Add a task to a project or edit an existing assignment. Supports picking from library or creating new. Manages assignment dependencies (which tasks in this project must finish first).
Aggregator for the projects module's reusable UI components.
Badge that renders a project's Project.derived_status/1 value as
a daisyUI badge with the canonical icon + color + gettext'd label.
Centered icon + heading + optional sub-text + optional CTA. Used in every list view ("No projects yet.", "No templates yet.", "No tasks assigned to you right now.").
Section heading + description + action button row used by every admin LV in the projects module (Overview, Projects list, Tasks, Templates, Project show, every form).
One row in the dashboard's "Running" section — clickable link wrapping a title, tier pill, started-X-ago metadata, done/total counts, an in-progress note, and a colored progress bar.
Drag-to-reorder list table. Wraps the core SortableGrid hook
(priv/static/assets/phoenix_kit.js) with the projects module's
standard chrome: card-shadow shell, table layout, drag-handle
column with bars-3 icon, hover state, and align-middle cells so
icons stay vertically centered during drag.
Compact bordered card with a label and a big number. Used in OverviewLive's top stats row (Running / Tasks in progress / Tasks todo / Tasks done) and in the bottom navigation row.
daisyUI tabs tabs-boxed segment switcher driven by the active
value + a list of {value, label, icon} tuples. Used in
AssignmentFormLive ("From library" / "Create new") and ready
for reuse anywhere a small set of mutually-exclusive panes shares
a single LV-managed assign.
Status pill rendered next to a project title on the Running dashboard. Encodes the prioritized-tier classification
Cross-cutting helpers for the projects module's LiveView layer.
Projects module dashboard.
Create or edit a project.
Show a project with a vertical timeline of assignments. Supports inline status changes, duration editing, dependency management, and tracks who completed each task.
List projects.
Create or edit a reusable task template, including default dependencies.
List reusable task templates.
Create or edit a project template.
List project templates.