feat(home): split Active and Past products into distinct sections#17
feat(home): split Active and Past products into distinct sections#17ghostleek wants to merge 10 commits into
Conversation
Replace the single product grid with two: Active (Building / Maintenance / Prototype) and Past (Deprecated). Past products render under a muted 'Past products' heading in a 2-column grid, hidden entirely when no deprecated products exist. This makes the deprecated/active distinction visually obvious instead of relying on the badge alone, and reduces the orphan-card awkwardness on the homepage.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
@copilot share BEFORE and AFTER screenshots |
There was a problem hiding this comment.
Pull request overview
Splits the homepage “Products” listing into separate Active vs Past (Deprecated) sections to improve layout and make the deprecated/active distinction clearer.
Changes:
- Partitioned the sorted projects list into
ACTIVE_PROJECTSandPAST_PROJECTS. - Rendered active products in the existing responsive 2/3-column grid.
- Added a conditional “Past products” section (heading + 2-column grid) shown only when deprecated products exist.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-4"> | ||
| {SORTED_PROJECTS.map((project) => ( | ||
| {/* Active products */} | ||
| <div className="grid md:grid-cols-2 lg:grid-cols-3 gap-4 mb-12"> |
| {PAST_PROJECTS.map((project) => ( | ||
| <ProjectCard | ||
| key={project.slug} | ||
| slug={project.slug} | ||
| name={project.name} | ||
| tagline={project.tagline} | ||
| status={project.status} | ||
| since={project.since} | ||
| audience={project.audience} | ||
| contributors={project.contributors} | ||
| volunteers={project.volunteers} | ||
| highlightStat={project.highlightStat} | ||
| url={project.url} | ||
| /> |
There was a problem hiding this comment.
@copilot apply changes based on this feedback
Address review feedback: - Spread project props onto ProjectCard so the active and past grids share one render expression instead of duplicating the prop list. - Move the 12-unit gap from the active grid's bottom to the Past section's top so the layout doesn't grow taller when there are no deprecated products.
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/01a37293-e8fb-41c9-aeea-a543fcbf54b7 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Added in commit Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/8e415d74-7408-4f17-b202-8bfc52cea805 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
|
@copilot can you add one more for deprecated product |
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/8e415d74-7408-4f17-b202-8bfc52cea805 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/8e415d74-7408-4f17-b202-8bfc52cea805 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/8e415d74-7408-4f17-b202-8bfc52cea805 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/8e415d74-7408-4f17-b202-8bfc52cea805 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/13c04c7b-51e3-4764-8c92-542f87c957a1 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Implemented in commit Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
|
@copilot past products should also follow the same 3 column layout. make the layout consistent |
Agent-Logs-Url: https://github.com/String-sg/reports/sessions/9ad5801c-f601-4a25-be98-af41cecdce64 Co-authored-by: ghostleek <44336310+ghostleek@users.noreply.github.com>
Implemented in commit Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|





Summary
The homepage product grid mixed actively-maintained products with deprecated ones in a single 3-column layout. With 7 cards, this produced an awkward "row of 3, row of 3, orphan" arrangement and made the deprecated/active distinction rely entirely on the small status badge.
This change splits the grid into two sections:
md:grid-cols-2 lg:grid-cols-3layout.md:grid-cols-2under a mutedPast productsheading, separated bymb-12.The Past section is hidden entirely when there are no deprecated products, so future product additions won't render an empty heading.
Test plan
npm run buildcompiles/: confirm 5 active cards render in the top grid and 2 deprecated cards (Remarks Co-Pilot, Whine) in a clearly-labeled lower sectionPast productsheading is visually muted (not competing withProductsh2)Generated by Claude Code