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.

Make the issue search results a real popover

bb541fdee195938c86d683fd4fde294b52081cd1 · Keenan Nemetz · 10d ago · parent 451332d1

Make the issue search results a real popover

The results sat on the page ground with no edge, so the list read as loose text under the search box. They now open as an overlaid panel with a raised background, border and shadow, and an empty field removes the panel instead of leaving a blank one.

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

@@ -1395,10 +1395,20 @@ details[open] > summary .tree-chevron { transform: rotate(90deg); }
1395 1395 .request-issue form button:hover { color: var(--bad); }
1396 1396 .request-unlink { display: inline-grid; place-items: center; width: 22px; min-height: 22px; border-radius: var(--radius); }
1397 1397 .request-unlink:hover { background: var(--bg-hover); text-decoration: none; }
1398 .request-issue-search { margin-top: 8px; }
1398 .request-issue-picker { position: relative; margin-top: 8px; }
1399 .thread-side .request-issue-picker form { margin: 0; }
1399 1400 .request-issue-search input { width: 100%; font-size: calc(12.65px * var(--font-scale)); }
1400 .request-issue-results { margin-top: 6px; }
1401 .request-issue-results p { margin: 0; font-size: calc(12.65px * var(--font-scale)); }
1401 .request-issue-results { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 40; }
1402 .request-issue-popover {
1403 max-height: 18rem;
1404 overflow-y: auto;
1405 padding: 4px;
1406 border: 1px solid var(--border-strong);
1407 border-radius: var(--radius-lg);
1408 background: var(--bg-raised);
1409 box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
1410 }
1411 .request-issue-popover p { margin: 0; padding: 5px 6px; font-size: calc(12.65px * var(--font-scale)); }
1402 1412 .request-issue-matches { display: flex; flex-direction: column; gap: 2px; }
1403 1413 .thread-side .request-issue-match { margin: 0; }
1404 1414 .request-issue-match button {