Repository navigation
feat(groups): fix the results layout and give every link a hover state - #208
Merged
BIA3IA merged 9 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
|
viganogabriele
marked this pull request as ready for review
October 31, 2026 17:54
BIA3IA
force-pushed
the
feat/groups-visual-refinement
branch
from
November 2, 2026 13:53
b859f83 to
f7872c6
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 13:53
1f01723 to
6984a13
Compare
BIA3IA
force-pushed
the
feat/groups-visual-refinement
branch
from
November 2, 2026 14:06
f7872c6 to
ff597b7
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 14:20
20dfd22 to
dfc533d
Compare
BIA3IA
force-pushed
the
feat/groups-visual-refinement
branch
2 times, most recently
from
November 2, 2026 14:32
3e42951 to
9db89f4
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/groups-visual-refinement
branch
from
November 2, 2026 14:35
9db89f4 to
d0bcd46
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/groups-visual-refinement
branch
from
November 2, 2026 14:56
d0bcd46 to
6a4598a
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/groups-visual-refinement
branch
from
November 2, 2026 15:00
6a4598a to
0bf0c70
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/groups-visual-refinement
branch
from
November 2, 2026 15:02
0bf0c70 to
41457f1
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:14
52b7d19 to
f6e1972
Compare
BIA3IA
force-pushed
the
feat/groups-visual-refinement
branch
2 times, most recently
from
November 2, 2026 15:18
31c7bd3 to
c4b3adf
Compare
BIA3IA
force-pushed
the
feat/projects-visual-refinement
branch
from
November 2, 2026 15:19
f6e1972 to
c88e866
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/groups-visual-refinement
branch
from
November 2, 2026 15:26
c4b3adf to
9a19326
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.
- Results and extra pages: one ~1024px column (Figma's list width) with a shared header component (back, centred title, close) laid out on a three-column grid, so long course names no longer run under the buttons on phones. - The general groups (site, school, level, course) were squeezed four per row with their names overlapping the platform buttons; they now sit one per row, two per row from lg, as in Figma. - Group rows: name and buttons share a row; when the card is narrower than 20rem the name gets its own line instead of breaking word by word. The `stacked` variant is gone. - Hover only where there is a link: the platform buttons darken, the report flags darken, course rows lighten and nudge their chevron, the landing cards get the identity hover. Keyboard focus rings on all of them. - Wizard: no wasted 16px inset on phones, where the glass panel is invisible, so the step labels fit at 320px. - Landing title uses the fluid display size and is the page's h1. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…offline - The four actions in a group row are 6px apart on phones too: 2px left the WhatsApp link and its report flag too easy to mistake. - The general groups get a visually hidden heading, so the outline no longer jumps from h1 to h3. - getVisibleGroups returns an empty list when the backend fails, like the other queries, so /groups/extra shows its empty state instead of a 500.
BIA3IA
force-pushed
the
feat/groups-visual-refinement
branch
from
November 2, 2026 15:28
9a19326 to
a244ebb
Compare
Base automatically changed from
feat/projects-visual-refinement
to
feat/home-visual-refinement
November 2, 2026 15:33
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 #207 (
feat/projects-visual-refinement) → … → #199. Part of the page-by-page visual refinement. Figma: landing2782:5643, wizard3071:6242, results3082:8078.What changes
Results page (
/groups/didattica/<school>/<level>/<course>)flex-wraprow.lg, as in Figma (2 cards side by side).max-w-7xl(1280) to ~1024 px, Figma's list width (~1040 at 1728). Rows of short group names no longer stretch across the screen.GroupsPageHeaderlays out back, centred title and close on a 3-column grid.h2row with consistent spacing. The magic margins (md:mt-16.25,md:mt-25.75…) are gone.Group rows (
CardCourseGroup, used only on these two pages)text-balance(no orphan "1" in "Analisi Matematica 1") andwrap-break-wordas a safety net. Thestackedvariant is removed.text-primary, and both have a focus ring.Hover = clickable (R9)
CardCourse, always rendered inside a link or button) lighten and nudge their chevron.Wizard
md, but it kept a 16 px padding. Removing it, plus tighter gaps, lets the step labels fit at 320 px. Before, "TRIENNALE/MAGISTRALE" overflowed into "CORSO".Landing
h1(it was anh2with noh1on the page).Shared changes and their reach
WizardShell: no inner padding belowmd, tighter header gaps on phones/guides/corso/**(same wizard): checked at 390/1024/1440, same improvementCardCourse: hover stateCardCourseGroup: layout,stackedprop removed/groups/**Screenshots
The backend isn't reachable locally, so before and after both use the same temporary local fixture: 60 fake groups, site/school/level/course groups, two cohorts, 12 extra groups. The fixture was never committed.
Results page: 1440, 768, 390, 320




Extra groups: 1440, 390


Wizard course step at 320 (step labels)

Landing, 1440

Hover: idle → hover (landing card, course row, Telegram button)

Verification
pnpm checkis clean,pnpm buildpasses andpnpm typecheckexits 0.node --test tests/*.test.mjs: 2/2 pass./groups/groups/didattica, plus its school, level and course steps/groups/extra/guides/corsoand its school stepTrade-offs
Deliberately left out
/groups. Figma shows the full navbar, but feat: connect groups to backend #155 reduced it on purpose: the logo links tohttps://polinetwork.organd the footer is hidden too./groupsis meant to run standalone in front of the current site, where the beta navigation would lead to unfinished pages. That is a product/deploy decision, not an implementation slip, so I left it.CardIconbuilds responsive size classes at runtime ("md:" + token), so Tailwind never generates them:size={{ base: "sm", md: "md" }}silently loses themdsize. That is aCardIconbug worth its own fix. Until then the school tiles keep their single size.Housekeeping
The screenshots live on the
pr-assets/groups-visual-refinementbranch, so this PR's diff stays code-only. Delete the branch after review.🤖 Generated with Claude Code