From 58ba7f133edadc0c067413c08d39e16003805bc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriele=20Vigan=C3=B2?= Date: Tue, 27 Oct 2026 16:53:25 +0000 Subject: [PATCH 1/4] feat(contact): align Contattaci with the shared layout and fix the card grid MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- src/app/contact/page.tsx | 15 ++++---- src/components/contact-card.tsx | 6 ++-- src/components/contact/collabora-section.tsx | 21 +++++------- src/components/contact/email-section.tsx | 12 +++---- src/components/contact/groups-section.tsx | 36 +++++++++++--------- 5 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx index 256adc98..c1a8d014 100644 --- a/src/app/contact/page.tsx +++ b/src/app/contact/page.tsx @@ -2,6 +2,7 @@ import type { Metadata } from "next" import { CollaboraSection } from "@/components/contact/collabora-section" import { EmailSection } from "@/components/contact/email-section" import { GroupsSection } from "@/components/contact/groups-section" +import { CONTAINER, PAGE_HERO, PAGE_MAIN } from "@/components/layout/page" import { Hero } from "@/components/ui/hero" export const metadata: Metadata = { @@ -11,12 +12,14 @@ export const metadata: Metadata = { export default function Contact() { return ( -
- +
+
+ +
diff --git a/src/components/contact-card.tsx b/src/components/contact-card.tsx index 742a8160..716db936 100644 --- a/src/components/contact-card.tsx +++ b/src/components/contact-card.tsx @@ -9,12 +9,12 @@ export type ContactCardData = { export function ContactCard({ title, description, email }: ContactCardData) { return ( - + - {title} + {title} {description} - + {email} diff --git a/src/components/contact/collabora-section.tsx b/src/components/contact/collabora-section.tsx index e035b39e..a0b682de 100644 --- a/src/components/contact/collabora-section.tsx +++ b/src/components/contact/collabora-section.tsx @@ -1,27 +1,24 @@ import Link from "next/link" import { FiArrowUpRight } from "react-icons/fi" +import { CONTAINER, SECTION_LEAD, SECTION_TITLE } from "@/components/layout/page" import { Button } from "@/components/ui/button" export function CollaboraSection() { return ( -
-
-

- Vuoi sviluppare un progetto insieme a noi? -

+
+
+

Vuoi sviluppare un progetto insieme a noi?

-
-

+

+

Siamo sempre felici di{" "} - collaborare con aziende o associazioni studentesche per portare + collaborare con aziende o associazioni studentesche per portare agli studenti del PoliMi eventi e attività di valore.

-

- Consulta la pagina dedicata per scoprire come possiamo unire le forze! -

+

Consulta la pagina dedicata per scoprire come possiamo unire le forze!

-
-
- Foto di gruppo della community PoliNetwork -
+ {/* Figma crops the photo to ~2.1:1 next to the text; it keeps that ratio at every width instead of growing tall */} + Foto di gruppo della community PoliNetwork
) } From 56a2ffdd605bdf21823021cdb1710e1c43b7a7aa Mon Sep 17 00:00:00 2001 From: Bianca Roberta Ianosel Date: Mon, 2 Nov 2026 09:26:33 +0000 Subject: [PATCH 2/4] fix(contact): sharp group photo, honest link label, one link style - 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. --- src/components/contact/email-section.tsx | 12 ++++++------ src/components/contact/groups-section.tsx | 13 ++++++------- 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/components/contact/email-section.tsx b/src/components/contact/email-section.tsx index b659a88a..2e67be97 100644 --- a/src/components/contact/email-section.tsx +++ b/src/components/contact/email-section.tsx @@ -1,6 +1,6 @@ import Link from "next/link" import { ContactCard, type ContactCardData } from "../contact-card" -import { CONTAINER, SECTION_LEAD, SECTION_TITLE } from "../layout/page" +import { CONTAINER, INLINE_LINK, SECTION_LEAD, SECTION_TITLE } from "../layout/page" const contactCards: ContactCardData[] = [ { @@ -19,8 +19,8 @@ const contactCards: ContactCardData[] = [ <> Se vuoi candidarti come admin o come membro di un team, ti consigliamo di passare dal form disponibile nella pagina{" "} - - Struttura + + Unisciti a noi . @@ -32,7 +32,7 @@ const contactCards: ContactCardData[] = [ description: ( <> Se sei un'azienda o associazione e vuoi proporre una collaborazione, puoi anche consultare la pagina{" "} - + Collabora con Noi {" "} per capire cosa offriamo. @@ -48,7 +48,7 @@ export function EmailSection() {

Hai una richiesta specifica?

Per tutto il resto,{" "} - + puoi scriverci direttamente . @@ -56,7 +56,7 @@ export function EmailSection() { Qui sotto trovi i contatti in base al tipo di richiesta.

- {/* Four requests, four columns as in Figma; 2×2 in between so no card is ever left alone on a row */} + {/* 2×2 between one and four columns, so no card is left alone on a row */}
{contactCards.map((card) => ( diff --git a/src/components/contact/groups-section.tsx b/src/components/contact/groups-section.tsx index e67efcce..c3ea204c 100644 --- a/src/components/contact/groups-section.tsx +++ b/src/components/contact/groups-section.tsx @@ -1,7 +1,7 @@ import Image from "next/image" import Link from "next/link" import { FiArrowUpRight } from "react-icons/fi" -import { CONTAINER, SECTION_LEAD, SECTION_TITLE } from "@/components/layout/page" +import { CONTAINER, INLINE_LINK, SECTION_LEAD, SECTION_TITLE } from "@/components/layout/page" import { Button } from "@/components/ui/button" export function GroupsSection() { @@ -16,7 +16,7 @@ export function GroupsSection() {

Il modo più rapido per ottenere risposte su esami, burocrazia universitaria o sulla vita al Politecnico è{" "} - + entrare nel gruppo del tuo corso , su Telegram o su WhatsApp, dove gli admin sono presenti ogni giorno. @@ -30,14 +30,13 @@ export function GroupsSection() {

- {/* Figma crops the photo to ~2.1:1 next to the text; it keeps that ratio at every width instead of growing tall */} Foto di gruppo della community PoliNetwork
) From 7dccd609d3a1f671f782f5577424a1ce9675ae01 Mon Sep 17 00:00:00 2001 From: Bianca Roberta Ianosel Date: Mon, 2 Nov 2026 15:26:13 +0000 Subject: [PATCH 3/4] fix(contact): let the group photo fill its column, centre the Collabora block --- src/components/contact/collabora-section.tsx | 2 +- src/components/contact/groups-section.tsx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/contact/collabora-section.tsx b/src/components/contact/collabora-section.tsx index a0b682de..12dd95c3 100644 --- a/src/components/contact/collabora-section.tsx +++ b/src/components/contact/collabora-section.tsx @@ -6,7 +6,7 @@ import { Button } from "@/components/ui/button" export function CollaboraSection() { return (
-
+

Vuoi sviluppare un progetto insieme a noi?

diff --git a/src/components/contact/groups-section.tsx b/src/components/contact/groups-section.tsx index c3ea204c..b5863373 100644 --- a/src/components/contact/groups-section.tsx +++ b/src/components/contact/groups-section.tsx @@ -35,8 +35,9 @@ export function GroupsSection() { alt="Foto di gruppo della community PoliNetwork" width={512} height={246} - // The source is 512px wide: shown no larger, so it stays sharp - className="h-auto w-full max-w-128 rounded-rectangles" + sizes="(min-width: 80rem) 600px, (min-width: 42rem) 672px, 100vw" + // The source is only 512px wide: capped at 672px so it never stretches past ~1.3x + className="mx-auto h-auto w-full max-w-2xl rounded-rectangles xl:max-w-none" />
) From 3de45756fe687b489332190c4d651f3c1bf54ebb Mon Sep 17 00:00:00 2001 From: Bianca Roberta Ianosel Date: Mon, 2 Nov 2026 15:28:44 +0000 Subject: [PATCH 4/4] fix(contact): centre the groups text when the photo wraps below it --- src/components/contact/groups-section.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/contact/groups-section.tsx b/src/components/contact/groups-section.tsx index b5863373..f8cf963a 100644 --- a/src/components/contact/groups-section.tsx +++ b/src/components/contact/groups-section.tsx @@ -7,7 +7,7 @@ import { Button } from "@/components/ui/button" export function GroupsSection() { return (
-
+

Hai mille dubbi sul Poli?