- Add generic move_in_order() to BaseRepository for reorder support - Add reusable reorder_arrows.html partial with grip dot handles - Add reorder routes to all 9 list routers (tasks, notes, links, contacts, meetings, decisions, appointments, lists, focus) - Compact row padding (6px 12px, gap 8px) on .list-row and .focus-item - Reduce font size to 0.80rem on row titles, sidebar nav, domain tree Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
57 lines
2.6 KiB
HTML
57 lines
2.6 KiB
HTML
{% extends "base.html" %}
|
|
{% block content %}
|
|
<div class="page-header">
|
|
<h1 class="page-title">Decisions<span class="page-count">{{ items|length }}</span></h1>
|
|
<a href="/decisions/create" class="btn btn-primary">+ New Decision</a>
|
|
</div>
|
|
|
|
<form class="filters-bar" method="get" action="/decisions">
|
|
<select name="status" class="filter-select" onchange="this.form.submit()">
|
|
<option value="">All Statuses</option>
|
|
<option value="proposed" {{ 'selected' if current_status == 'proposed' }}>Proposed</option>
|
|
<option value="accepted" {{ 'selected' if current_status == 'accepted' }}>Accepted</option>
|
|
<option value="rejected" {{ 'selected' if current_status == 'rejected' }}>Rejected</option>
|
|
<option value="superseded" {{ 'selected' if current_status == 'superseded' }}>Superseded</option>
|
|
</select>
|
|
<select name="impact" class="filter-select" onchange="this.form.submit()">
|
|
<option value="">All Impact</option>
|
|
<option value="high" {{ 'selected' if current_impact == 'high' }}>High</option>
|
|
<option value="medium" {{ 'selected' if current_impact == 'medium' }}>Medium</option>
|
|
<option value="low" {{ 'selected' if current_impact == 'low' }}>Low</option>
|
|
</select>
|
|
</form>
|
|
|
|
{% if items %}
|
|
<div class="card mt-3">
|
|
{% for item in items %}
|
|
<div class="list-row">
|
|
{% with reorder_url="/decisions/reorder", item_id=item.id %}
|
|
{% include 'partials/reorder_arrows.html' %}
|
|
{% endwith %}
|
|
<span class="row-title"><a href="/decisions/{{ item.id }}">{{ item.title }}</a></span>
|
|
<span class="status-badge status-{{ item.status }}">{{ item.status }}</span>
|
|
<span class="row-tag impact-{{ item.impact }}">{{ item.impact }}</span>
|
|
{% if item.decided_at %}
|
|
<span class="row-meta">{{ item.decided_at }}</span>
|
|
{% endif %}
|
|
{% if item.meeting_title %}
|
|
<span class="row-meta">{{ item.meeting_title }}</span>
|
|
{% endif %}
|
|
<div class="row-actions">
|
|
<a href="/decisions/{{ item.id }}/edit" class="btn btn-ghost btn-xs">Edit</a>
|
|
<form action="/decisions/{{ item.id }}/delete" method="post" data-confirm="Delete this decision?" style="display:inline">
|
|
<button type="submit" class="btn btn-ghost btn-xs" style="color: var(--red)">Del</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
{% else %}
|
|
<div class="empty-state mt-3">
|
|
<div class="empty-state-icon">⚖</div>
|
|
<div class="empty-state-text">No decisions recorded yet</div>
|
|
<a href="/decisions/create" class="btn btn-primary">Record First Decision</a>
|
|
</div>
|
|
{% endif %}
|
|
{% endblock %}
|