From 31688a6b04b878b6ef2cdeeeab0e6b24c7e03f51 Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Sun, 14 Dec 2025 09:39:12 +0545 Subject: [PATCH] feat(projects): add project management templates Added new templates for project management functionality including listing, creation, and detailed views. These templates integrate with HTMX for dynamic interactions and provide a responsive layout. **New Features** - **project_list.html**: Displays a table of projects with status badges, client associations, and deadline tracking. Includes actions for creating, editing, and deleting projects. - **project_detail.html**: Shows detailed project information including status, description, client, and deadline. Features an embedded kanban board for task management and a modal for task creation. - **project_form.html**: Provides a multi-step form wizard for creating/editing projects with validation and navigation controls. **Enhancements & Refinements** - Responsive design across all templates for consistent UX on different devices. - Dynamic status badges color-coded based on project state. - Integrated HTMX for seamless form submissions and DOM updates in project list and task management. --- templates/projects/project_detail.html | 69 ++++++++++++++++ templates/projects/project_form.html | 106 +++++++++++++++++++++++++ templates/projects/project_list.html | 69 ++++++++++++++++ 3 files changed, 244 insertions(+) create mode 100644 templates/projects/project_detail.html create mode 100644 templates/projects/project_form.html create mode 100644 templates/projects/project_list.html diff --git a/templates/projects/project_detail.html b/templates/projects/project_detail.html new file mode 100644 index 0000000..2c3799d --- /dev/null +++ b/templates/projects/project_detail.html @@ -0,0 +1,69 @@ +{% extends "shared/base.html" %} +{% load static %} +{% block content %} +{% include "shared/navbar.html" %} + +
+ +
+
+

+ {{ project.name }} + + {{ project.get_status_display }} + +

+

+ {{ project.client.name }} • Due: {{ project.deadline|default:"No deadline" }} +

+ +
+ +
+ + +
+

Description

+

{{ project.description }}

+
+ + +
+
+

Tasks

+
+
+ {% include "projects/partials/kanban_board.html" %} +
+
+
+ + + + + + +{% endblock %} \ No newline at end of file diff --git a/templates/projects/project_form.html b/templates/projects/project_form.html new file mode 100644 index 0000000..7ef868b --- /dev/null +++ b/templates/projects/project_form.html @@ -0,0 +1,106 @@ +{% extends "shared/base.html" %} +{% load static %} +{% block content %} +{% include "shared/navbar.html" %} + +
+

{% if project %}Edit Project{% else %}New Project{% endif %}

+ {% include "projects/partials/project_form.html" %} +
+ + +{% endblock %} \ No newline at end of file diff --git a/templates/projects/project_list.html b/templates/projects/project_list.html new file mode 100644 index 0000000..dea47e1 --- /dev/null +++ b/templates/projects/project_list.html @@ -0,0 +1,69 @@ +{% extends "shared/base.html" %} +{% load static %} +{% block content %} +{% include "shared/navbar.html" %} + +
+
+

Projects

+ + + New Project + +
+ +
+ + + + + + + + + + + + {% for project in projects %} + + + + + + + + {% empty %} + + + + {% endfor %} + +
NameClientStatusDeadlineActions
+ + {{ project.name }} + +
{{ project.description|truncatechars:50 }}
+
{{ project.client.name }} +
+ {{ project.get_status_display }} +
+
{{ project.deadline|default:"-" }} +
+ + + Edit + + +
+
+ No projects found. Create one to get started. +
+
+
+{% endblock %} \ No newline at end of file