Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/about/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import type { Metadata } from "next"
import Link from "next/link"
import { FiArrowUpRight } from "react-icons/fi"
import { AssociationBodies } from "@/components/structure/association-bodies"
import { BoardGallery } from "@/components/structure/board-gallery"
import { LegalStatus } from "@/components/structure/legal-status"
import { OrganizationChart } from "@/components/structure/organization-chart"
import { Participation } from "@/components/structure/participation"
import { PeopleGallery } from "@/components/team/people-gallery"
import { Button } from "@/components/ui/button"
import { Hero } from "@/components/ui/hero"
import { StructureShapes } from "./shapes"
Expand Down Expand Up @@ -40,7 +40,7 @@ export default function StructurePage() {
Il Direttivo in carica
</h2>
<div className="flex flex-col gap-6">
<PeopleGallery />
<BoardGallery />
<p className="typo-body-medium mx-auto max-w-160 text-balance text-center text-text-secondary">
Il Direttivo viene eletto ogni due anni dall’Assemblea dei Soci tra i soci dell’associazione.
</p>
Expand Down
37 changes: 2 additions & 35 deletions src/app/team/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,14 @@ import type { Metadata } from "next"
import { FiUsers } from "react-icons/fi"
import { Glass } from "@/components/glass"
import { applicationHref, teams } from "@/components/team/constants"
import { PeopleGallery } from "@/components/team/people-gallery"
import { TeamSection } from "@/components/team/team-section"
import { Button } from "@/components/ui/button"
import { Hero } from "@/components/ui/hero"
import { TeamHeroShapes, TeamSectionShapes } from "./shapes"

export const metadata: Metadata = {
title: "I Team",
description:
"Scopri i team di PoliNetwork: IT, Design & Marketing, HR, Events & Partnership e International, in sinergia con il Consiglio Direttivo.",
description: "Scopri i team di PoliNetwork: IT, Design & Marketing, HR ed Events & Partnership.",
}

export default function TeamPage() {
Expand All @@ -22,40 +20,9 @@ export default function TeamPage() {
<section className="mx-auto flex w-full max-w-330 flex-col items-center gap-6 px-6 pt-52 md:pt-64">
<Hero
title="I Team"
description="PoliNetwork si muove grazie a quattro anime operative distinte, guidate dai rispettivi Capi Dipartimento in sinergia con il Consiglio Direttivo."
description="PoliNetwork si muove grazie a quattro anime operative distinte, guidate dai rispettivi Capi Dipartimento."
gradientDescription
/>
<p className="typo-body-large sm:typo-headline-extrasmall max-w-180 text-balance text-center">
Il punto d’incontro? Il <span className="text-blue-secondary">Team Growth</span>, il cuore strategico dove i
responsabili uniscono le forze per coordinare i progetti interarea e disegnare il futuro dell’associazione.
</p>
</section>
</div>
<div className="relative">
<TeamSectionShapes section="board" />
<section
aria-labelledby="direttivo-title"
className="mx-auto flex w-full max-w-330 flex-col items-center gap-10 px-6 md:gap-12"
>
<div className="flex max-w-260 flex-col gap-6 text-center">
<h2
id="direttivo-title"
className="typo-headline-medium md:typo-display-medium text-balance bg-linear-to-b from-text-primary to-text-secondary bg-clip-text text-transparent"
>
Consiglio direttivo
</h2>
<p className="typo-body-large sm:typo-headline-extrasmall text-pretty">
Il Consiglio Direttivo è l’organo garante dell’associazione. Ha l’obiettivo di vigilare sulle attività di
PoliNetwork e di monitorarne l’andamento per preservare i valori dello statuto; di conseguenza, può
approvare o respingere le linee d’azione intraprese dai singoli dipartimenti o le strategie delineate dal
Growth Team. I membri del consiglio sono eletti ogni due anni dall’Assemblea dei Soci tra i soci
dell’associazione.
</p>
</div>
<PeopleGallery />
<p className="typo-body-medium text-center text-text-secondary">
Il Direttivo attuale è in carica da novembre 2024.
</p>
</section>
</div>
{teams.map((team) => (
Expand Down
5 changes: 0 additions & 5 deletions src/app/team/shapes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,6 @@ export function TeamHeroShapes() {

// Original Figma layers, anchored to their sections so they follow responsive content reflow.
const placements: Record<string, FigmaShapePlacement[]> = {
board: [
{ variant: "big-teal", x: 1661, y: 458, w: 974, h: 974 },
{ variant: "small-blue", x: 1641, y: 201, w: 354, h: 354, matrix: [0.7649, 0.6441, -0.6441, 0.7649] },
{ variant: "looper", x: 1964, y: 446, w: 1609.7, h: 1560.48 },
],
it: [
{ variant: "big-teal", x: 11, y: 1, w: 1164, h: 1164 },
{ variant: "small-blue", x: -13, y: -306, w: 424, h: 424, matrix: [0.7649, 0.6441, -0.6441, 0.7649] },
Expand Down
Binary file removed src/assets/images/join/members.png
Binary file not shown.
Binary file added src/assets/images/join/members.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 6 additions & 3 deletions src/components/contact/collabora-section.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import Link from "next/link"
import { FiArrowUpRight } from "react-icons/fi"
import { Button } from "@/components/ui/button"

Expand All @@ -20,9 +21,11 @@ export function CollaboraSection() {
</p>
</div>

<Button variant="primary" size="lg" className="w-fit gap-2 self-center min-[1616px]:self-start">
Collabora con noi
<FiArrowUpRight />
<Button variant="primary" size="lg" className="w-fit gap-2 self-center min-[1616px]:self-start" asChild>
<Link href="/collabora">
Collabora con noi
<FiArrowUpRight />
</Link>
</Button>
</div>
</section>
Expand Down
2 changes: 1 addition & 1 deletion src/components/contact/email-section.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ const contactCards: ContactCardData[] = [
description: (
<>
Se sei un&apos;azienda o associazione e vuoi proporre una collaborazione, puoi anche consultare la pagina{" "}
<Link href="/collaborate" className="text-blue-secondary underline underline-offset-2">
<Link href="/collabora" className="text-blue-secondary underline underline-offset-2">
Collabora con Noi
</Link>{" "}
per capire cosa offriamo.
Expand Down
2 changes: 1 addition & 1 deletion src/components/header/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export const headerMenuItems: HeaderMenuItem[] = [
title: "Resources",
menu: [
{ title: "Progetti", href: "/projects", icon: FiChevronRight },
{ title: "Appunti", href: "/materials", icon: FiChevronRight },
{ title: "Appunti", href: "https://polinetwork.org/it/materials/view/", icon: FiChevronRight },
{ title: "Guide", href: "/guides", icon: FiChevronRight },
{ title: "FAQs", href: "/faqs", icon: FiChevronRight },
],
Expand Down
9 changes: 7 additions & 2 deletions src/components/home/materials.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,12 @@ const featuredCards = [
const quickLinks = [
{ title: "Dispense", icon: FiBook, size: { base: "xs", sm: "sm" }, href: "#" },
{ title: "Esami", icon: FiFileText, size: { base: "xs", sm: "sm" }, href: "#" },
{ title: "Appunti", icon: FiClipboard, size: { base: "xs", sm: "sm" }, href: "#" },
{
title: "Appunti",
icon: FiClipboard,
size: { base: "xs", sm: "sm" },
href: "https://polinetwork.org/it/materials/view/",
},
] as const

export function Materials() {
Expand Down Expand Up @@ -67,7 +72,7 @@ export function Materials() {
carica i tuoi file per far crescere la community.
</p>
<Button variant="primary" size="lg" className="w-fit" asChild>
<Link href="/materials" className="flex items-center gap-2">
<Link href="https://polinetwork.org/it/materials/view/" className="flex items-center gap-2">
Scopri di più
<FiArrowUpRight />
</Link>
Expand Down
2 changes: 1 addition & 1 deletion src/components/join/membership.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Image from "next/image"
import type { ReactNode } from "react"
import externalLink from "@/assets/icons/join/external-link.svg"
import membersPhoto from "@/assets/images/join/members.png"
import membersPhoto from "@/assets/images/join/members.webp"
import { Highlight, SectionTitle } from "@/components/collabora/section"
import { cn } from "@/lib/utils"
import { membershipSteps } from "./constants"
Expand Down
2 changes: 1 addition & 1 deletion src/components/matricole/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ export const materiali = {
description:
"Il più grande archivio didattico creato dagli studenti per gli studenti del Politecnico di Milano. Migliaia di appunti e temi d’esame.",
icon: FiFolder,
href: "/materials",
href: "https://polinetwork.org/it/materials/view/",
}

export const techTools = {
Expand Down
8 changes: 1 addition & 7 deletions src/components/projects/upload.tsx
Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
import { FiMail, FiSend } from "react-icons/fi"
import { FiMail } from "react-icons/fi"
import { CardCaption } from "../card-caption"

const cards = [
{
title: "Contatti",
caption: (
<div className="flex flex-col gap-2">
<span className="flex items-center gap-2">
<FiSend /> @lorenzocorallo
</span>
<span className="flex items-center gap-2">
<FiSend /> @toto04_1
</span>
<span className="flex items-center gap-2">
<FiMail /> info@polinetwork.org
</span>
Expand Down
38 changes: 38 additions & 0 deletions src/components/structure/board-gallery.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
import Image from "next/image"
import { boardMembers } from "@/components/storia/constants"
import { Card, CardContent } from "@/components/ui/card"
import { Carousel, CarouselContent, CarouselDots, CarouselItem } from "@/components/ui/carousel"
import { cn } from "@/lib/utils"

export function BoardGallery() {
return (
<Carousel
opts={{ align: "center", breakpoints: { "(min-width: 768px)": { active: false } } }}
className="w-full min-w-0"
>
<CarouselContent className="md:mx-auto md:max-w-242 md:flex-wrap md:justify-center md:gap-6">
{boardMembers.map((member) => (
<CarouselItem key={member.name} className="sm:basis-1/2 md:max-w-56 md:basis-[calc((100%-72px)/4)] md:pl-0">
<Card className="motion-safe:hover:-translate-y-1 relative mx-auto aspect-[223.429/263] h-auto w-full max-w-56 rounded-rectangles border-white/50 p-0 shadow-sm transition-transform">
<Image
src={member.image}
alt={member.name}
sizes="(max-width: 767px) 224px, (max-width: 1279px) 25vw, 224px"
className={cn("absolute max-w-none", member.crop)}
/>
<div
aria-hidden
className="absolute inset-0 bg-linear-to-t from-5% from-blue-secondary/70 to-60% to-transparent"
/>
<CardContent className="absolute inset-x-4 bottom-5 text-white">
<h3 className="typo-body-large font-poppins">{member.name}</h3>
{member.role && <p className="typo-body-small">{member.role}</p>}
</CardContent>
</Card>
</CarouselItem>
))}
</CarouselContent>
<CarouselDots className="mt-6 md:hidden" />
</Carousel>
)
}
16 changes: 0 additions & 16 deletions src/components/team/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,10 @@ export type Team = {
title: string
description: string
roles: Pick<CardIconProps, "title" | "icon">[]
placeholderCount: number
reverse?: boolean
centered?: boolean
}

// Copy and specialisms from the desktop Team frame (5546:10874).
// Member cards in the design contain copied board names and no photos: keep them explicit placeholders.
export const teams: Team[] = [
{
id: "it",
Expand All @@ -41,7 +38,6 @@ export const teams: Team[] = [
{ title: "DevOps Engineers", icon: FiCloud },
{ title: "Database Specialists", icon: FiSave },
],
placeholderCount: 6,
},
{
id: "design-marketing",
Expand All @@ -54,7 +50,6 @@ export const teams: Team[] = [
{ title: "Copywriting & Communication", icon: communication.src },
{ title: "Collaborazione", icon: FiShare2 },
],
placeholderCount: 4,
},
{
id: "hr",
Expand All @@ -67,7 +62,6 @@ export const teams: Team[] = [
{ title: "Community & Engagement", icon: FiAward },
{ title: "Crescita del team", icon: FiCornerRightUp },
],
placeholderCount: 4,
reverse: true,
},
{
Expand All @@ -80,16 +74,6 @@ export const teams: Team[] = [
{ title: "Partnership", icon: FiUsers },
{ title: "Project Management", icon: FiSettings },
],
placeholderCount: 0,
},
{
id: "international",
title: "International Team",
description:
"Il team International segue gli studenti Erasmus in arrivo al Politecnico e chi si è trasferito stabilmente per studiare qui. Organizza eventi di benvenuto e di scambio culturale, cura le comunicazioni sui social rivolte a questo pubblico e sviluppa progetti pensati sulle loro esigenze specifiche. Il team lavora a stretto contatto con Events & Partnership per l’organizzazione degli eventi e con Design & Marketing per la comunicazione in lingua inglese sui social.",
roles: [],
placeholderCount: 7,
centered: true,
},
]

Expand Down
82 changes: 0 additions & 82 deletions src/components/team/people-gallery.tsx

This file was deleted.

Loading
Loading