Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Stack the change request target fields

b74cb029a397c46ecf418e64b5d9d4d47a7c4028 · Keenan Nemetz · 11d ago · parent d69be4df

Stack the change request target fields

The base and head selects now sit on their own labelled rows, so long branch names are readable instead of being squeezed beside the arrow and update control. The current head and Update action share the row below.

server/web/static/vole.css +18−13

@@ -1822,30 +1822,35 @@ article.comment.editing > .comment-snippet { display: none; }
1822 1822 .meta-list dt { color: var(--fg-faint); }
1823 1823 .meta-list dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
1824 1824
1825 /* The request target is one row: base, head, update. The selects carry the
1826 current values, so the sidebar needs no separate labels above them. */
1825 /* The request target is two stacked fields, not one crowded row: the sidebar is
1826 narrow, so each branch name gets the full width and a visible label. */
1827 1827 .request-target { margin: 2px 0 0; }
1828 .request-target .target-row {
1829 display: grid;
1830 grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto;
1831 align-items: center;
1832 gap: 6px;
1833 }
1828 .target-fields { display: grid; gap: 8px; }
1829 .target-field { display: grid; gap: 3px; min-width: 0; }
1830 .target-label { color: var(--fg-muted); font-size: calc(12.1px * var(--font-scale)); }
1834 1831 .request-target select {
1835 1832 min-width: 0;
1836 1833 width: 100%;
1837 min-height: 28px;
1838 padding: 3px 6px;
1834 min-height: 30px;
1835 padding: 4px 7px;
1839 1836 font-size: calc(13.2px * var(--font-scale));
1840 1837 }
1841 .request-target button {
1838 .target-actions {
1839 display: flex;
1840 flex-wrap: wrap;
1841 align-items: center;
1842 gap: 6px 10px;
1843 margin-top: 8px;
1844 }
1845 .target-actions button {
1842 1846 display: inline-flex;
1843 1847 align-items: center;
1844 1848 justify-content: center;
1845 1849 min-height: 28px;
1846 padding: 3px 7px;
1850 margin-left: auto;
1851 padding: 3px 9px;
1847 1852 }
1848 .request-target p { margin: 6px 0 0; font-size: calc(12.65px * var(--font-scale)); }
1853 .request-target p { margin: 0; font-size: calc(12.65px * var(--font-scale)); }
1849 1854 .target-summary {
1850 1855 display: flex;
1851 1856 flex-wrap: wrap;