clone

a personal forge on plain git: static pages, stacked-diff reviews, signed local ci, repo sites and releases

The activity grid fills its panel's width

cat committed 1cf16ec
Cells were 13px at most and left in the panel, so on a wide page the 53 weeks took about 790px and left the rest empty. Now the cell is always the panel's width over 53 weeks, less the gaps, at least 10px: the grid spans the panel at any width, and narrower boxes shrink and then drop the oldest weeks as before. ui.njk's comment and DESIGN.md say so.
commit
1cf16ec9e3d1aadfa35eac01e002be9be0871943
parent
cf8d4d285de2caff71cbc44b6efaefcb16476dab
author
cat <admin@dev.site>
ci
✗ failed in 75s, signed by cat
kind
fix risk score 1.7 of 3, Jev's estimate
ci attestation
forge-attestation 1
type ci
commit 1cf16ec9e3d1aadfa35eac01e002be9be0871943
tree 12150ace8cfb2398a7b4079705a036c9a6cfaca8
script .forge/ci 3dbc91920fbe9105a57a13da4f17861aa3500f04
result fail
exit 1
started 2026-11-04T03:22:03Z
duration 75s
runner (not shown here; refs/notes/ci has it)
system Darwin 27.2.0 arm64
env host
log sha256:46a9bc64e6d0f6995e11958d0afbdeed9268cbe575210ffd436aa2943d1cbbc7 178 lines
|ok   release-files (6s)
|ok   mirror-interval (25s)
|ok   private-web-session (12s)
|ok   private-flip (18s)
|ok   release-gc (7s)
|ok   release-page (6s)
|ok   release-private-store (4s)
|ok   private-web-token (15s)
|ok   release-private-gc (7s)
|ok   profile-pins-public (15s)
|ok   release-private-store-flip (6s)
|ok   release-tab (4s)
|ok   release-verify (4s)
|ok   release-signature (6s)
|ok   release-private-store-backup (9s)
|ok   release-publish (7s)
|ok   profile-set (18s)
|ok   release-tag (6s)
|ok   release-private (8s)
|ok   release-private-flip (11s)
|ok   review-log (3s)
|ok   release-private-store-gc (9s)
|ok   times-relative (1s)
|ok   repo-front-facts (7s)
|ok   release-restore (9s)
|ok   repo-rm (7s)
|ok   times-columns (4s)
|ok   shelves-site-toggle (5s)
|ok   release-private-web (12s)
|ok   site-preview (5s)
|ok   web-approve (6s)
|ok   web-comment-line-page (5s)
|ok   search-phrases (10s)
|ok   shelves-all (9s)
|ok   web-comment-outdated (6s)
|ok   web-comment-csrf (8s)
|ok   shelves-fragment (11s)
|ok   shelves-tab (10s)
|ok   shelves (9s)
|ok   web-comment-same (5s)
|ok   shelves-sort (10s)
|ok   web-comment-token (6s)
|ok   web-comment-page (7s)
|ok   web-comment-limit (9s)
|ok   web-comment-private (7s)
|ok   web-headers (6s)
|ok   review-list (14s)
|ok   repo-front-about (23s)
|
|--- code-search-range
|FAIL: got '(node:34627) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.', want 'many/zz.txt:1: beta and alpha'
|  | (node:34627) ExperimentalWarning: localStorage is not available because --localstorage-file was not provided.
|  | (Use `node --trace-warnings ...` to show where the warning was created)
|  | many/zz.txt:1: beta and alpha
|  | requests 2 rounds 1 bytes 163840
|  | range 206 bytes 0-99/98304 type application/vnd.sqlite3 encoding none length 100
|  | cache no-cache
|  | wasm 200 type application/wasm cache public, max-age=31536000, immutable
|
|1 of 165 scenarios failed

Signature: good, cat

3 files changed, +11 -12
MDESIGN.md6+++---
Msite/_includes/ui.njk6+++---
Msite/assets/style.css11+++++------
M DESIGN.md +3 -3
M site/_includes/ui.njk +3 -3
M site/assets/style.css +5 -6
@@ -323,15 +323,14 @@ svg.avatar .av-b { fill: var(--avatar-blue); }
323323 svg.avatar .av-y { fill: var(--avatar-yellow); }324324 325325 /* the activity grid (ui.activity): a column a week, a square button a326- day, coloured by how busy it was. Cells are 13px with --space-half gaps,327- left in the panel; in a narrower box they shrink to fit all 53 weeks,328- down to 10px, and below that the oldest weeks go (a<n>: n weeks before329- this one), a week each 12px, so the latest always show. A picked day has326+ day, coloured by how busy it was. The 53 weeks fill the panel's width,327+ square cells with --space-half gaps; in a narrower box the cells328+ shrink with it down to 10px, and below that the oldest weeks go (a<n>:329+ n weeks before this one), a week each 12px, so the latest always show. A picked day has330330 an ink outline. A still grid's days (a repo's insights) are spans, the331331 same squares with nothing to hover or pick. */332332 .activity-fit { container: activity / inline-size; }333-.activity { --cell: 13px; display: grid; grid-template-rows: repeat(7, var(--cell)); grid-auto-columns: var(--cell); grid-auto-flow: column; gap: var(--space-half); justify-content: start; }334-@container activity (width < 793px) { .activity { --cell: max(10px, calc((100cqw + 2px) / 53 - 2px)); } }333+.activity { --cell: max(10px, calc((100cqw + var(--space-half)) / 53 - var(--space-half))); display: grid; grid-template-rows: repeat(7, var(--cell)); grid-auto-columns: var(--cell); grid-auto-flow: column; gap: var(--space-half); justify-content: start; }335334 .activity > :is(button, span) { display: block; min-height: 0; width: 100%; height: 100%; padding: 0; border: 0; background: var(--heat-0); }336335 .activity > button { cursor: pointer; }337336 .activity > .l1 { background: var(--heat-1); }