de505df5 Andy McCall 1 month ago ↶
1
{% extends "base.html" %}
2
{% import "repo_tabs.html" as m %}
3
{% block title %}Proposals · {{ repo.owner }}/{{ repo.name }}{% endblock %}
4
{% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %}
5
{% block tabs %}{% call m::tabs(repo, "proposals") %}{% endblock %}
6
{% block content %}
7
< div class = " head " > < h1 > Proposals < small > changes offered for a bookmark; they never go stale</ small > </ h1 > </ div >
8
< div class = " bar " >
9
< span class = " modes " >
1ac84c62 Andy McCall 1 month ago ↶
10
< a href = " ?state=open& amp; q={{ q }}" {% if filter = = "open" %} class = " on " {% endif %}> {{ counts.0 }} open</ a >
11
< a href = " ?state=landed& amp; q={{ q }}" {% if filter = = "landed" %} class = " on " {% endif %}> {{ counts.1 }} landed</ a >
12
< a href = " ?state=closed& amp; q={{ q }}" {% if filter = = "closed" %} class = " on " {% endif %}> {{ counts.2 }} closed</ a >
de505df5 Andy McCall 1 month ago ↶
13
</ span >
14
{% if shell.user.is_some() %}< a class = " go small " href = " {{ repo.url }}/proposals/new" > new proposal</ a > {% endif %}
15
</ div >
1ac84c62 Andy McCall 1 month ago ↶
16
< div class = " bar " >
17
< form class = " find " method = " get" action = " {{ repo.url }}/proposals" > < input type = " search" name = " q" value = " {{ q }}" placeholder = " Filter: text, author:bob, label:ui, target:main" > < input type = " hidden" name = " state" value = " {{ filter }}" > < input type = " hidden" name = " sort" value = " {{ sort }}" > </ form >
18
< span class = " modes small " aria-label = " Sort" > {% for (k, label) in crate::web::proposals::SORTS %}< a href = " {{ pager.sorted(k) }}" {% if sort = = *k %} class = " on " {% endif %}> {{ label }}</ a > {% endfor %}</ span >
19
</ div >
de505df5 Andy McCall 1 month ago ↶
20
{% if rows.is_empty() %}
21
< p class = " empty " > No {{ filter }} proposals. Push a bookmark, then < a href = " {{ repo.url }}/proposals/new" > propose it</ a > for {{ repo.default_bookmark }}.{% if bookmarks.len() > 1 %} Bookmarks here: {% for b in bookmarks %}< a href = " {{ repo.url }}/proposals/new?source={{ b }}" > {{ b }}</ a > {% if !loop.last %}, {% endif %}{% endfor %}.{% endif %}</ p >
22
{% else %}
23
< ul class = " rows " >
24
{% for p in rows %}
25
< li >
26
< div >
27
< a class = " name " href = " {{ repo.url }}/proposal/{{ p.number }}" > < span class = " mute " > #{{ p.number }}</ span > < strong > {{ p.title }}</ strong > </ a >
28
{% if p.state == "draft" %}< span class = " tag " > draft</ span > {% endif %}
29
{% if p.conflicted %}< span class = " tag bad " > conflicts</ span > {% endif %}
1ac84c62 Andy McCall 1 month ago ↶
30
{% for l in labels_of(p.id) %}< span class = " label " style = " -- c : {{ l.colour }}" > {{ l.name }}</ span > {% endfor %}
de505df5 Andy McCall 1 month ago ↶
31
< p class = " small " > {{ p.author }} wants < span class = " lbl lbl-bm " > {{ p.source_bookmark }}</ span > into < span class = " lbl lbl-bm " > {{ p.target }}</ span > · {{ p.projected_changes().len()|plural("change", "changes") }}</ p >
32
</ div >
33
< div class = " right small " > updated < time title = " {{ p.updated_ms|when_i }}" > {{ p.updated_ms|ago_i }}</ time > </ div >
34
</ li >
35
{% endfor %}
36
</ ul >
1ac84c62 Andy McCall 1 month ago ↶
37
{% include "pager.html" %}
de505df5 Andy McCall 1 month ago ↶
38
{% endif %}
39
{% endblock %}