diff --git a/src/components/card-multiple-icons/index.tsx b/src/components/card-multiple-icons/index.tsx index 3c05e7f..56e04de 100644 --- a/src/components/card-multiple-icons/index.tsx +++ b/src/components/card-multiple-icons/index.tsx @@ -1,5 +1,4 @@ import * as React from "react" -import { Glass } from "@/components/glass" import { cn } from "@/lib/utils" import type { CardMultipleIconsProps } from "./types" @@ -7,14 +6,14 @@ export function CardMultipleIcons({ icons, className }: CardMultipleIconsProps) const iconItems = React.Children.toArray(icons) return ( - - {/* Figma "glass-icone": 48px tall, icons 34px from the edges and evenly spread */} -
+
{iconItems.map((icon) => ( ))}
- +
) } diff --git a/src/components/chi-siamo/support-section.tsx b/src/components/chi-siamo/support-section.tsx index 506a90f..78d5560 100644 --- a/src/components/chi-siamo/support-section.tsx +++ b/src/components/chi-siamo/support-section.tsx @@ -2,7 +2,8 @@ import { CONTAINER, SECTION_TITLE } from "@/components/layout/page" export function SupportSection() { return ( -
+ // `id`: the footer's 5x1000 card links here +

Sostieni PoliNetwork

diff --git a/src/components/footer/index.tsx b/src/components/footer/index.tsx index 58568b4..b71ff3e 100644 --- a/src/components/footer/index.tsx +++ b/src/components/footer/index.tsx @@ -1,97 +1,178 @@ import Image from "next/image" import Link from "next/link" -import { FiFacebook, FiGithub, FiInstagram, FiLinkedin } from "react-icons/fi" +import type { ReactNode } from "react" +import { FiArrowUpRight, FiFacebook, FiGithub, FiInstagram, FiLinkedin } from "react-icons/fi" import discord from "@/assets/icons/discord.svg" import telegram from "@/assets/icons/telegram.svg" -import { CardMultipleIcons } from "../card-multiple-icons" +import { CardMultipleIcons } from "@/components/card-multiple-icons" +import { Glass } from "@/components/glass" +import { MATERIALS_URL } from "@/components/header/constants" +import { CONTAINER, SECTION_TITLE } from "@/components/layout/page" +import { regulationsHref, statuteHref } from "@/components/structure/constants" +import { Button } from "@/components/ui/button" +import { cn } from "@/lib/utils" + +const socials: { label: string; href: string; icon: ReactNode }[] = [ + { label: "Telegram", href: "https://t.me/polinetwork", icon: }, + { label: "Instagram", href: "https://instagram.com/polinetwork_", icon: }, + { label: "LinkedIn", href: "https://www.linkedin.com/company/polinetwork", icon: }, + { label: "Facebook", href: "https://www.facebook.com/PolitecnicoDiMilanoNetwork", icon: }, + // The Discord glyph has its own padding: at 28px it matches the others + { label: "Discord", href: "https://discord.gg/Fp7ZHcC", icon: }, + { label: "GitHub", href: "https://github.com/PoliNetworkOrg", icon: }, +] + +const siteLinks = [ + { title: "Gruppi", href: "/groups" }, + { title: "Matricole", href: "/matricole" }, + { title: "Progetti", href: "/projects" }, + { title: "Appunti", href: MATERIALS_URL }, + { title: "Su di noi", href: "/chi-siamo" }, + { title: "Contatti", href: "/contact" }, +] + +const documents = [ + { title: "Statuto", href: statuteHref }, + { title: "Regolamento interno", href: regulationsHref }, +] + +const emails = [ + { label: "Per collaborazioni ed eventi", email: "events@polinetwork.org" }, + { label: "Per domande e richieste", email: "info@polinetwork.org" }, +] + +const HEADING = "typo-headline-extrasmall text-text-primary" +const LINK = + "rounded-sm outline-none decoration-1 decoration-blue-secondary underline-offset-4 transition-colors hover:text-blue-secondary hover:underline focus-visible:underline focus-visible:ring-2 focus-visible:ring-blue-secondary focus-visible:ring-offset-2" + +function FooterLink({ href, children, className }: { href: string; children: ReactNode; className?: string }) { + const external = !href.startsWith("/") + return external ? ( + // Inline arrow: when the label wraps, it follows the last word + + {children} + + + ) : ( + + {children} + + ) +} export function Footer() { return ( -