Signed by hannaSSH key fingerprint: SHA256:4g9cWhkAAw8gwqhJUcVbSnGEvdGwklW+1Aa/fMUu59k
crates/web/src/repo.rs +8 −2
| @@ -1498,6 +1498,9 @@ pub(crate) struct RepoEntry { | |||
| 1498 | 1498 | pub(crate) visibility: model::Visibility, | |
| 1499 | 1499 | /// The default branch, shown in the subtitle. | |
| 1500 | 1500 | pub(crate) default_branch: String, | |
| 1501 | + | /// When the repo was last pushed to (falling back to its last metadata | |
| 1502 | + | /// change), for the "Updated …" subtitle. | |
| 1503 | + | pub(crate) updated: i64, | |
| 1501 | 1504 | /// Optional one-line description, shown under the name when present. | |
| 1502 | 1505 | pub(crate) description: Option<String>, | |
| 1503 | 1506 | } | |
| @@ -1510,6 +1513,7 @@ impl RepoEntry { | |||
| 1510 | 1513 | label: repo.path.clone(), | |
| 1511 | 1514 | visibility: repo.visibility, | |
| 1512 | 1515 | default_branch: repo.default_branch.clone(), | |
| 1516 | + | updated: repo.pushed_at.unwrap_or(repo.updated_at), | |
| 1513 | 1517 | description: repo.description.clone(), | |
| 1514 | 1518 | } | |
| 1515 | 1519 | } | |
| @@ -1522,6 +1526,7 @@ impl RepoEntry { | |||
| 1522 | 1526 | label: format!("{owner}/{}", repo.path), | |
| 1523 | 1527 | visibility: repo.visibility, | |
| 1524 | 1528 | default_branch: repo.default_branch.clone(), | |
| 1529 | + | updated: repo.pushed_at.unwrap_or(repo.updated_at), | |
| 1525 | 1530 | description: repo.description.clone(), | |
| 1526 | 1531 | } | |
| 1527 | 1532 | } | |
| @@ -1540,6 +1545,7 @@ fn visibility_badge(visibility: model::Visibility) -> Markup { | |||
| 1540 | 1545 | /// card headed by `title`, one bordered row per repo with a bold name and a | |
| 1541 | 1546 | /// muted `visibility · default: branch` subtitle. | |
| 1542 | 1547 | pub(crate) fn repo_card(title: &str, empty: &str, entries: &[RepoEntry]) -> Markup { | |
| 1548 | + | let now = crate::now_ms(); | |
| 1543 | 1549 | html! { | |
| 1544 | 1550 | section class="listing" { | |
| 1545 | 1551 | @if !title.is_empty() { h2 { (title) } } | |
| @@ -1558,8 +1564,8 @@ pub(crate) fn repo_card(title: &str, empty: &str, entries: &[RepoEntry]) -> Mark | |||
| 1558 | 1564 | span class="repo-row-desc muted" { (desc) } | |
| 1559 | 1565 | } | |
| 1560 | 1566 | span class="repo-row-meta muted" { | |
| 1561 | - | (e.visibility.as_str()) | |
| 1562 | - | " · " (icon(Icon::GitBranch)) " " (e.default_branch) | |
| 1567 | + | (icon(Icon::GitBranch)) " " (e.default_branch) | |
| 1568 | + | " · Updated " (crate::activity::fmt_relative(e.updated, now)) | |
| 1563 | 1569 | } | |
| 1564 | 1570 | } | |
| 1565 | 1571 | } | |