{% extends "base.html" %} {% block title %}{{ project.name }} · Cascade{% endblock %} {% block content %}
← Dashboard

{{ project.name }}

{% if project.mission %}

{{ project.mission }}

{% endif %}
{{ project.status }}
{# --- Goals (strategic coherence) --- #}

Goals

{% if goals %}
{% for goal in goals %} {% with goal=goal.model_dump() %}{% include "partials/goal_card.html" %}{% endwith %} {% endfor %}
{% else %}

No goals yet.

{% endif %}
{# --- Kanban board --- #}

Tasks

{% set cols = {'not_started': 'To Do', 'ongoing': 'In Progress', 'blocked': 'Blocked', 'completed': 'Done'} %} {% for key, label in cols.items() %}
{{ label }} {{ columns[key]|length }}
{% for task in columns[key] %} {% include "partials/task_card.html" %} {% endfor %}
{% endfor %}
{# --- Milestones --- #} {% if milestones %}

Milestones

{% for ms in milestones %} {% set m = ms.model_dump() %}
{{ m.title }} {{ m.status }}
{% with percentage=m.progress_percentage, label=(m.task_completed|string ~ '/' ~ m.task_total|string ~ ' tasks') %} {% include "partials/progress_bar.html" %} {% endwith %}
{% endfor %}
{% endif %}
{% endblock %} {% block scripts %} {% endblock %}