Group steering-committee teams with connecting colour bars (#808)#815
Merged
Conversation
In the team grid, members could be orphaned across line breaks, making it ambiguous which sub-team a wrapped member belonged to. Each team now reads as one connected run: a coloured bar links every tile in a team (title + members), bridging the gap between tiles and breaking cleanly at the row edge so it resumes on the next line when a team wraps. Each team gets a distinct colour; Steering & Guidance (which have no sub-teams) stay plain. Grouping and colours are now baked in at generation time, replacing the fragile runtime CSV name-matching/reorder script. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
|
👍 All image files/references (if any) are in webp format, in line with our policy. |
Contributor
📝 Spell Check ResultsFound 1 potential spelling issue(s) when checking 45 changed file(s): 📄
|
| Line | Issue |
|---|---|
| 157 | Compleat ==> Complete |
ℹ️ How to address these issues:
- Fix the typo: If it's a genuine typo, please correct it.
- Add to whitelist: If it's a valid word (e.g., a name, technical term), add it to
.codespell-ignore.txt - False positive: If this is a false positive, please report it in the PR comments.
🤖 This check was performed by codespell
Contributor
Author
|
✅ Staging Deployment Status This PR has been successfully deployed to staging as part of an aggregated deployment. Deployed at: 2026-06-24 21:15:53 UTC The staging site shows the combined state of all compatible open PRs. |
The team grid can render misaligned under the academic theme: its `.article-style img` selector outranks the `.sc-card-img` class, so without !important the theme can drop the avatar into normal flow and push it below the top of the card (title cards then sit higher than the photos, with the connecting bars detached). Force the photo wrapper and image to stay absolutely positioned and flush, top-align the grid explicitly, fill any lightbox <a> wrapper the theme may add around the image, and reset theme heading margins on the title text so title cards keep their aspect-ratio height. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
richarddushime
approved these changes
Jun 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #808.
Problem
In the steering-committee team grid, title cards and member cards were equal-sized tiles flowing in one wrapping row. When the row wrapped, a member could land on a new line with no heading nearby — so it was ambiguous which sub-team it belonged to.
In the before shot below, Sara Lil Middleton wraps to the start of a new row and reads as part of "Ethics and Inclusion" (to her right), when she's actually the second member of "Sustainability & Strategy". Every title card is the same dark slate, so there's no way to tell teams apart across a wrap.
Fix — connecting colour bars
Kept the dense single-flow mosaic (one reading order, even rows) but made each team read as one connected run: a coloured bar runs along the top of every tile in a team (title + members), bridges the gap to the next tile, and breaks at the row edge / resumes on the next row when a team wraps. A wrapped member keeps its team colour, so it's never orphaned. Each team gets a distinct colour; Steering & Guidance (no sub-teams) stay plain.
Operations section — before vs after (worst case, 10 teams)
In after, Sara Lil Middleton's purple bar keeps her with Sustainability & Strategy, while "Ethics and Inclusion" is clearly the crimson team to her right.
Full page — after
Full page — before
(Screenshots live on the
pr-imagesbranch under808/for reproducibility — see its README for how they were generated.)Approach & alternatives
This was chosen after mocking up several alternatives (boxed panels, horizontal lanes, forced line breaks, a compact roster). The connecting-bar approach preserves the "one overarching team split into smaller teams" feel without boxes.
Implementation notes
generate_sc_profiles.py), replacing the fragile runtime JS that re-fetched the source CSV and fuzzy-matched member names to re-order/colour cards. Net −317 lines..sc-card-photowrapper (clips the image/zoom) so the connecting bar can overflow into the gap; a.sc-cbarelement carries the bar.index.mdwas regenerated from the existing committed data (no network re-fetch), so the diff is purely the layout — all 32 members, names, roles, team titles and modals are unchanged. The generator still rebuilds correctly from the two Google Sheets sources (the data/merge path is unchanged; only card rendering moved into shared helpers, verified to reproduce the committed markup byte-for-byte).🤖 Generated with Claude Code