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; | |