{% extends "base.html" %} {% block content %}
<div class="pynmon-container">
  <div class="row pynmon-row-compact">
    <div class="col-12">
      <div class="card pynmon-card">
        <div
          class="card-header pynmon-card-header d-flex justify-content-between align-items-center"
        >
          <span class="compact-header">All workflow runs</span>
          <div>
            <a href="/workflows" class="btn btn-sm btn-outline-secondary me-2">
              ← Back to Workflows
            </a>
            <button
              class="btn btn-sm btn-outline-primary"
              hx-get="/workflows/runs/refresh"
              hx-target="#workflow-runs-content"
              hx-swap="innerHTML"
            >
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="16"
                height="16"
                fill="currentColor"
                class="bi bi-arrow-clockwise"
                viewBox="0 0 16 16"
              >
                <path
                  fill-rule="evenodd"
                  d="M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z"
                />
                <path
                  d="M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z"
                />
              </svg>
              Refresh
            </button>
          </div>
        </div>
        <div class="card-body pynmon-card-body">
          <div id="workflow-runs-content">
            {% if workflow_runs %}
            <div class="mb-3">
              <span class="badge bg-primary"
                >{{ workflow_runs|length }} Total Runs</span
              >
            </div>

            <div class="table-responsive">
              <table class="table table-hover pynmon-table">
                <thead>
                  <tr>
                    <th>Workflow Task ID</th>
                    <th>Invocation ID</th>
                    <th>Parent Workflow</th>
                    <th>Actions</th>
                  </tr>
                </thead>
                <tbody>
                  {% for run in workflow_runs %}
                  <tr>
                    <td>
                      <a
                        href="/workflows/{{ run.workflow_type.key }}"
                        class="text-decoration-none"
                      >
                        <strong>{{ run.workflow_type }}</strong>
                      </a>
                    </td>
                    <td>
                      <a
                        href="/invocations/{{ run.workflow_id }}"
                        class="font-monospace text-decoration-none"
                        >{{ run.workflow_id }}</a
                      >
                    </td>
                    <td>
                      {% if run.parent_workflow %}
                      <span class="font-monospace text-muted">
                        {{ run.parent_workflow.workflow_id[:8] }}...
                      </span>
                      {% else %}
                      <span class="text-muted">-</span>
                      {% endif %}
                    </td>
                    <td>
                      <a
                        href="/invocations?workflow_id={{ run.workflow_id }}"
                        class="btn btn-sm btn-outline-primary"
                      >
                        View Invocations
                      </a>
                    </td>
                  </tr>
                  {% endfor %}
                </tbody>
              </table>
            </div>
            {% else %}
            <div class="alert alert-info">
              <h6>No workflow runs found</h6>
              <p class="mb-0">
                No workflow executions have been registered yet. Workflow runs
                will appear here after workflows are executed at least once.
              </p>
            </div>
            {% endif %}
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
{% endblock %}
