{% extends "base.html" %} {% block title %}{{ name }} - Project Detail{% endblock %} {% block content %}

📦 {{ name }}

{% if project.error %}

Error: {{ project.error }}

{% else %}

Repository Info

Path: {{ project.path }}

Branch: {{ project.branch or 'N/A' }}

Status: {{ project.status }}

{% if project.gitea_repo %}

Gitea: {{ project.gitea_repo }} ↗

{% endif %}

Latest Commit

{% if project.commit_hash %}

Hash: {{ project.commit_hash }}

Message: {{ project.commit_msg }}

Time: {% if project.commit_time %}{{ project.commit_time|int|dt }} ({{ project.commit_time|int|rel }}){% else %}N/A{% endif %}

{% else %}

No commits found

{% endif %}

Git Status

{% if project.status_porcelain %}
{{ project.status_porcelain }}
{% else %}

Clean working directory

{% endif %}
{% if project.diff_stat %}

Last Commit Diff Stat

{{ project.diff_stat }}
{% endif %}

📋 Task Timeline ({{ tasks|length }} tasks)

{% if tasks %} {% for t in tasks %} {% endfor %}
ID Title Status Created Duration Outcome
{{ t.task_id }} {{ t.title[:80] }} {{ t.status }} {% if t.created_at %}{{ t.created_at|int|dt }}{% endif %} {% if t.duration_s %} {% if t.duration_s < 60 %}{{ t.duration_s }}s {% elif t.duration_s < 3600 %}{{ (t.duration_s / 60)|round(1) }}m {% else %}{{ (t.duration_s / 3600)|round(1) }}h{% endif %} {% else %}-{% endif %} {{ t.outcome_summary[:80] }}
{% else %}

No tasks linked to this project

{% endif %}

🔀 Recent Commits ({{ commits|length }})

{% if commits %} {% for c in commits %} {% endfor %}
Hash Author Time Subject
{{ c.short }} {{ c.author }} {{ c.ts|int|dt }} {{ c.subject }}
{% else %}

No commits found

{% endif %}
{% if task_files %}

📁 Files Changed (per task time window)

{% for task_id, commit_files in task_files.items() %}

{{ task_id }}

{% for chash, files in commit_files.items() %}
{{ chash }}: {{ files|length }} file(s)
    {% for f in files[:10] %}
  • {{ f }}
  • {% endfor %} {% if files|length > 10 %}
  • ... {{ files|length - 10 }} more
  • {% endif %}
{% endfor %}
{% endfor %}
{% endif %} {% endif %}

← Back to Projects

{% endblock %}