Repository navigation
feat(projects): content-sized project cards and a working collection search - #207
Merged
BIA3IA merged 7 commits intoNov 2, 2026
Merged
Conversation
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
This was referenced Oct 28, 2026
viganogabriele
marked this pull request as ready for review
October 31, 2026 17:54
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 13:53
6f4b83f to
a216c84
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
2 times, most recently
from
November 2, 2026 14:20
20dfd22 to
dfc533d
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 14:20
a216c84 to
c7fb4d8
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 14:32
dfc533d to
7e4026d
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 14:32
c7fb4d8 to
342273c
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 14:35
7e4026d to
3601c7e
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 14:35
342273c to
30bd5ec
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 14:56
3601c7e to
99d3f26
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
2 times, most recently
from
November 2, 2026 15:00
014b639 to
3c64c05
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:00
99d3f26 to
0d4cc72
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 15:02
3c64c05 to
4937b0e
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:02
0d4cc72 to
52b7d19
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 15:14
4937b0e to
d6de145
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
2 times, most recently
from
November 2, 2026 15:18
f6e1972 to
c88e866
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 15:19
d6de145 to
54900b4
Compare
…rd grid - Page uses the shared container, title/lead styles and vertical rhythm of the other redesigned pages instead of ad-hoc paddings and a 1616px breakpoint. - Email cards: four in a row from xl as in Figma, 2×2 below, one column on phones, so a card is never left alone on a row; cards size to content instead of the fixed 264×312 box. - "Trova il tuo gruppo" had no action: it now links to /groups, like the inline link in the same paragraph. - Group photo keeps Figma's crop next to the text from xl and is capped when stacked; text is left-aligned at every width. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- The group photo is 512x246: it was declared 721x342 and stretched up to 768px wide. It now shows at its real size at most. - "Candidature" linked to /join with the label "Struttura"; the label now matches the page it opens. - The inline links use INLINE_LINK, with a visible focus ring.
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:26
c88e866 to
bd6a39e
Compare
BIA3IA
force-pushed
the
feat/contact-visual-refinement
branch
from
November 2, 2026 15:26
cab415e to
7dccd60
Compare
…search - One ProjectCard for the three lists: the project's logo replaces Figma's placeholder icons (crop / upload), the title gets a per-line gradient, and the footer says what the project page offers (web app or source code). - One ProjectList: cards in a min/max-bounded auto-fill grid instead of fixed 312x264 boxes at fixed breakpoints; on phones a carousel with the next card peeking in. - The collection search box now filters by name and description (it had no handler), with an explicit "no match" state. - Empty lists render a dashed placeholder that points to "Hai un'idea?". - "Hai un'idea?" sits as text + two reference cards side by side, with a readable lead and a real mailto link. - /projects and /projects/[id] use the shared container, titles and rhythm; the detail page drops its gradient panels and closes on the background like the other pages. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ProjectCard is now a CardCaption with a logo, a clamped caption and a footer, instead of a second copy of its link, hover, focus and footer logic. CardCaption gains `image`, `titleClassName` and `captionClassName` for it. - The search looks through every project on the page, novelties and deprecated ones included, matches each word separately and announces the number of results. - PeekCarousel replaces the two copies of the phone carousel (homepage and project lists). - SECTION_STACK moves to layout/page and also serves /about. - t.me links are labelled Telegram, not Web. - The project page shows no placeholder icon when there is no logo, and "Hai un'idea?" sits on the container's left edge like the other sections. - Long search queries wrap inside the empty state.
…with any project CardCaption draws its title gradient per line, as ProjectCard did before it moved onto CardCaption: a wrapped title no longer fades on its second line. The search box shows whenever the page has projects to search, not only when the collection itself has some.
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:28
bd6a39e to
25427b1
Compare
Base automatically changed from
feat/contact-visual-refinement
to
feat/home-visual-refinement
November 2, 2026 15:30
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.
Stacked on #206 (
/contact). The stack is #199 → #200 → #201 → #202 → #203 → #204 → #205 → #206 → this PR, so this diff only shows/projectsand/projects/[id].Figma: desktop
317:521, mobile1948:4657. The detail page has no Figma frame.What changes
One project card for the three lists (
ProjectCard)logonow replaces them when it exists; otherwise the card has no icon.One list (
ProjectList)repeat(auto-fill, minmax(min(100%, 16rem), 1fr))inside the shared container. Cards stay between 256 and about 370 px, and the column count follows the available space: 2 at 768, 3 at 1024, 4 from about 1312. Before, the layout jumped between fixed 2 and 4 columns, with cards centred in their cells.The search box now works
Empty states
#proponi, the "Hai un'idea?" section on the same page."Hai un'idea?"
mailto:link.blue-secondaryinstead ofblue-primary, which was below AA on the light background.Layout
CONTAINER,PAGE_MAIN,PAGE_HERO,SECTION_TITLEandSECTION_LEADfrom feat(team): calmer team sections with non-interactive specialisms #203/feat(collabora): hold the page together between the Figma frames; share one page rhythm #205. Themin-h-screenandpy-49blocks are gone.h2; they used to beh3directly under the hero.Detail page (
/projects/[id], kept, not redesigned)Shared changes
None.
CardCaption,Cardand the carousel are used as they are. The newProjectCard,ProjectListandsection.tslive incomponents/projects/.Screenshots
These use a local fixture. The backend isn't reachable locally, so before and after were both captured with a temporary fixture of 18 projects (4 news, 11 general, 3 deprecated), with mixed description lengths and link types. The fixture was not committed. The last screenshot shows the real empty state.
Desktop 1440

Tablet 1024 and 768


Mobile 390

Detail page 1440

Card hover

Empty state (no backend)

Verification
pnpm check: clean.pnpm build: passes.pnpm typecheck: clean after the build.node --test tests/*.test.mjs: 2/2 pass./projects,/projects/1and/projects/12were checked at 320, 390, 768, 1024, 1279, 1280, 1440, 1728 and 1920 px, with no horizontal overflow.Trade-offs
Deliberately left out
resources.ts.Housekeeping
The screenshots live on
pr-assets/projects-visual-refinement, which can be deleted after review.🤖 Generated with Claude Code