Settings and proposal pages: spacing 991b55638aaf
The Add a runner button stands off the runners table, the webhook and
collaborator forms fill their panel instead of stopping at two thirds
of it (#99), and a proposal's project entries keep a space before
remove, as the issue page's do (#100).
closes #99, closes #100
Author Andy McCall @andymccall <[email protected] >
When 1 month ago · 2026-10-04 14:50 UTC
Signature ✔ signed by Andy McCall
Hash 991b55638aafa18532dc889a532fc31463c37cf91967a413a0de32cef7892091
Depends on 4f37afcc3583 8e96499f2705 9e50caedf4db d23464c0ac60 de505df5cf8d
Depended on by e1dc108bd814 3ea0b8af2d46 7d2eb590051f
In bookmarks api-unknown-fields cancel-landed-runs clear-waiting close-proposal-140 diffusion-pin-bookmark draft-ready image-check job-waits main oh-comment-body-file proposal-list-fast run-one-job wiki-says-so
In tags v0.4.1 v0.4.2 v0.5.0 v0.5.1 v0.5.2 v0.6.0 v0.6.1 v0.7.0 v0.8.0 v0.9.0 v0.9.1 v0.9.11 v0.9.15 v0.9.16 v0.9.19 v0.9.2 v0.9.20 v0.9.21 v0.9.22 v0.9.23 v0.9.24 v0.9.3 v0.9.4 v0.9.5 v0.9.6 v0.9.7 v0.9.8 v0.9.9
Edits 3 atoms, 0 tree operations, 2 files
Browse the tree at this change
templates/proposal.html templates/style.css
modified
templates/proposal.html
+1 −1
…
223 unchanged lines
224
224
{% if choices.len() > 6 %}<input class="menu-filter" type="search" placeholder="Filter projects" aria-label="Filter projects" data-menu-filter>{% endif %}
225
225
<div class="menu-list">{% for pr in choices %}<button type="submit" name="project" value="{{ pr.number }}" class="menu-item menu-pick"><span class="menu-name">{{ pr.title }}<small>{{ pr.owner }}</small></span></button>{% endfor %}</div>
226
226
</form></details>{% endif %}{% endif %}</div>
227
-
{% if projects.is_empty() %}<p class="side-empty">None yet</p>{% else %}<ul class="plain small">{% for (pr, col) in projects %}<li><a href="/projects/{{ pr.owner }}/{{ pr.number }}">{{ pr.title }}</a> <span class="mute">· {{ col }}</span>{% if project_choices.is_some() %}<form class="inline" method="post" action="{{ repo.url }}/proposal/{{ p.number }}/project"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="project" value="{{ pr.number }}"><button name="action" value="remove" class="linkish" title="Take it off this project">remove</button></form>{% endif %}</li>{% endfor %}</ul>{% endif %}
227
+
{% if projects.is_empty() %}<p class="side-empty">None yet</p>{% else %}<ul class="plain small side-list ">{% for (pr, col) in projects %}<li><a href="/projects/{{ pr.owner }}/{{ pr.number }}">{{ pr.title }}</a> <span class="mute">· {{ col }}</span>{% if project_choices.is_some() %} <form class="inline" method="post" action="{{ repo.url }}/proposal/{{ p.number }}/project"><input type="hidden" name="_csrf" value="{{ shell.csrf }}"><input type="hidden" name="project" value="{{ pr.number }}"><button name="action" value="remove" class="linkish" title="Take it off this project">remove</button></form>{% endif %}</li>{% endfor %}</ul>{% endif %}
228
228
{% if let Some(choices) = project_choices %}{% if choices.is_empty() && projects.is_empty() %}<p class="side-note"><a href="/projects/{{ repo.owner }}">{{ repo.owner }}'s projects</a></p>{% endif %}{% endif %}
229
229
</section>
230
230
<section class="side-sec">
…
18 unchanged lines
modified
templates/style.css
+5 −0
…
712 unchanged lines
713
713
.device-done.no .device-mark { background: var(--bad); }
714
714
.side-note-inline { font-size: 12px; color: var(--mute); font-weight: 400; }
715
715
.side-list li { margin: 0 0 4px; }
716
+
.side-list form.inline { margin-left: 6px; }
717
+
/* Forms inside a settings panel fill it, and a form that follows a table
718
+
(Add a runner) stands off it (oxygenhub#99). */
719
+
.panel form.card { max-width: none; }
720
+
.panel .table + form { margin-top: 12px; }
716
721
717
722
/* The proposal conversation (oxygenhub#86): a pencil by the title, a ···
718
723
menu on the description that edits it in place, one action row under
…
62 unchanged lines