Skip to content

Replace masonry cards with compact row list on projects page#83

Merged
sirrice merged 1 commit into
mainfrom
feat/projects-row-layout
Jun 15, 2026
Merged

Replace masonry cards with compact row list on projects page#83
sirrice merged 1 commit into
mainfrom
feat/projects-row-layout

Conversation

@sirrice

@sirrice sirrice commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Replaces the masonry 3-column card grid with a fixed-height row list. Each project row shows: small avatar | title + Software badge | subtitle | tag pills | Code/Learn More buttons.
  • Adds a Compact / Cozy density toggle, right-aligned in the existing type-filter row. Cozy mode expands the avatar to 88px and allows the subtitle to wrap. Preference is persisted in localStorage.
  • Removes the search box (was unused in practice and cluttered the UI).
  • Fixes a latent JS bug: card.style.display = 'block' was overriding the CSS grid layout on cards being shown; changed to '' so CSS owns the display type.

Why

Masonry cards had uneven heights due to varying content length, making the list hard to scan. The new row layout is information-dense, consistent, and uses full page width on wide screens while stacking cleanly on mobile.

Reviewer notes

  • No frontmatter changes required on project files.
  • The existing All / Projects / Software filter and URL state logic are unchanged.
  • Mobile breakpoint hides the avatar column and collapses to single-column.

Masonry cards had variable heights that made scanning hard and wasted
space. New layout uses fixed-height rows (avatar | title+badge | subtitle |
tags | links) that scan consistently at any page width.

- Compact mode: 44px avatar, single-line subtitle
- Cozy mode: 88px avatar, subtitle wraps to 2 lines; toggle persists via localStorage
- Density toggle aligned right in the existing type-filter pill row
- Removed search box (no search requirement on this page)
- Fixed JS card show/hide: was setting display:block (breaks grid rows), now resets to '' to let CSS own the display type

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@sirrice sirrice merged commit 8917786 into main Jun 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant