From 036a6471a3b2fb4b1bced812f0ffd63f81d1f38c Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Sun, 14 Dec 2025 09:39:00 +0545 Subject: [PATCH] feat(projects/partials): add kanban board and project form templates Introduce two new template partials for projects: a kanban board interface and a multi-step project form. These additions provide enhanced project management capabilities and streamlined project creation. **New Features** - **Kanban board** with four columns (To Do, In Progress, Review, Done) - Dynamic task cards with drag-and-drop functionality - Task CRUD operations via modals (Add Task, Edit Task) - Status badges showing task counts per column - **Project form** with three-step wizard interface - Form validation and dynamic step navigation - Responsive design for both components **Enhancements & Refinements** - Interactive UI elements with hover states and visual feedback - Automatic count updates when tasks are moved or modified - HTMX integration for seamless form submissions - Clean and modern styling using utility classes - Accessibility improvements with proper ARIA labels and focus management --- templates/projects/partials/kanban_board.html | 423 ++++++++++++++++++ templates/projects/partials/project_form.html | 239 ++++++++++ 2 files changed, 662 insertions(+) create mode 100644 templates/projects/partials/kanban_board.html create mode 100644 templates/projects/partials/project_form.html diff --git a/templates/projects/partials/kanban_board.html b/templates/projects/partials/kanban_board.html new file mode 100644 index 0000000..e1cba15 --- /dev/null +++ b/templates/projects/partials/kanban_board.html @@ -0,0 +1,423 @@ +
+ +
+
+
+

To Do

+ {{ tasks_todo|length }} +
+ + + + +
+ {% for task in tasks_todo %} +
+
+
+

{{ task.title }}

+ {% if task.due_date %} +
+ + {{ task.due_date|date:"M d" }} +
+ {% endif %} +
+ +
+
+ {% endfor %} +
+
+
+ + +
+
+
+

In Progress

+ {{ tasks_in_progress|length }} +
+
+ {% for task in tasks_in_progress %} +
+
+
+

{{ task.title }}

+ {% if task.due_date %} +
+ + {{ task.due_date|date:"M d" }} +
+ {% endif %} +
+ +
+
+ {% endfor %} +
+
+
+ + +
+
+
+

Review

+ {{ tasks_review|length }} +
+
+ {% for task in tasks_review %} +
+
+
+

{{ task.title }}

+ {% if task.due_date %} +
+ + {{ task.due_date|date:"M d" }} +
+ {% endif %} +
+ +
+
+ {% endfor %} +
+
+
+ + +
+
+
+

Done

+ {{ tasks_done|length }} +
+
+ {% for task in tasks_done %} +
+
+
+

{{ task.title }}

+ {% if task.due_date %} +
+ + {{ task.due_date|date:"M d" }} +
+ {% endif %} +
+ +
+
+ {% endfor %} +
+
+
+
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/templates/projects/partials/project_form.html b/templates/projects/partials/project_form.html new file mode 100644 index 0000000..7936ee8 --- /dev/null +++ b/templates/projects/partials/project_form.html @@ -0,0 +1,239 @@ +
+ + + + + +
+ {% csrf_token %} + + {% if form.non_field_errors %} +
+ {{ form.non_field_errors }} +
+ {% endif %} + + +
+
+
+ + {{ form.name }} + {% if form.name.errors %} +

{{ form.name.errors.0 }}

+ {% endif %} +
+
+ + {{ form.client }} + {% if form.client.errors %} +

{{ form.client.errors.0 }}

+ {% endif %} +
+
+ + {{ form.status }} + {% if form.status.errors %} +

{{ form.status.errors.0 }}

+ {% endif %} +
+
+
+ + + + + + + + +
+
+ Cancel + +
+ + +
+
+
+ + \ No newline at end of file