Files
lifeos-dev/templates/decisions.html
Michael 497436a0a3 feat: universal reorder grip handles and compact UI density
- 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>
2026-03-03 01:44:30 +00:00

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">&#9878;</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 %}