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.

Fill status action buttons instead of outlining them

d69be4dfa5a37611a260513055468e75687941ce · Keenan Nemetz · 11d ago · parent 37cc16c8

Fill status action buttons instead of outlining them

Approve, Merge, Allow CI, Close and the destructive settings actions now use the same filled shape as the primary button. A status-fg token uses the page ground colour so the label stays legible against each theme's status hue.

server/web/static/vole.css +16−14

@@ -67,6 +67,10 @@
67 67 --bad-soft: rgba(235, 87, 87, 0.12);
68 68 --warn: #f2c94c;
69 69 --warn-soft: rgba(242, 201, 76, 0.14);
70 /* Status buttons are filled, so their label uses the page ground colour. It is
71 dark in the dark themes and light in the light ones, which keeps it legible
72 against every theme's good/bad/warn hue. */
73 --status-fg: var(--bg);
70 74
71 75 /* shape and type */
72 76 --radius: 6px;
@@ -473,26 +477,24 @@ button:disabled { opacity: 0.5; cursor: default; }
473 477 }
474 478 .button.secondary:hover { background: var(--bg-hover); }
475 479
476 /* Action colours are outlined rather than filled: the border and label carry
477 the meaning, and hover adds only a soft tint. */
480 /* Action colours use the same filled shape as the primary control: the
481 background carries the meaning, and hover brightens it like every other
482 button. */
478 483 .button.success, button.success {
479 background: transparent;
480 color: var(--good);
481 border-color: var(--good);
484 background: var(--good);
485 color: var(--status-fg);
486 border-color: transparent;
482 487 }
483 .button.success:hover, button.success:hover { background: var(--good-soft); }
484 488 .button.warn, button.warn {
485 background: transparent;
486 color: var(--warn);
487 border-color: var(--warn);
489 background: var(--warn);
490 color: var(--status-fg);
491 border-color: transparent;
488 492 }
489 .button.warn:hover, button.warn:hover { background: var(--warn-soft); }
490 493 .button.danger, button.danger {
491 background: transparent;
492 color: var(--bad);
493 border-color: var(--bad);
494 background: var(--bad);
495 color: var(--status-fg);
496 border-color: transparent;
494 497 }
495 .button.danger:hover, button.danger:hover { background: var(--bad-soft); }
496 498
497 499 button.link, .link {
498 500 background: none;