Come usarlo
@@ -135,19 +134,17 @@ export default async function ProjectPage({ params }: Props) {
)}
-
-
- Scopri gli altri progetti
-
- Strumenti e app realizzati dagli studenti del Politecnico, per gli studenti del Politecnico.
-
+
Tutti i progetti
-
-
+ }
+ />
)
}
diff --git a/src/app/projects/page.tsx b/src/app/projects/page.tsx
index fbfb0d74..25e85bd6 100644
--- a/src/app/projects/page.tsx
+++ b/src/app/projects/page.tsx
@@ -1,7 +1,9 @@
+import { CONTAINER, PAGE_HERO, PAGE_MAIN } from "@/components/layout/page"
import { Collection } from "@/components/projects/collection"
import { CommunityNews } from "@/components/projects/community-news"
import { Deprecated } from "@/components/projects/deprecated"
import { Upload } from "@/components/projects/upload"
+import { Hero } from "@/components/ui/hero"
import { getAllProjects } from "@/queries/projects"
export const metadata = {
@@ -11,7 +13,7 @@ export const metadata = {
export const dynamic = "force-dynamic"
-export default async function Home() {
+export default async function ProjectsPage() {
const projects = await getAllProjects()
const news = projects.filter((project) => project.category === "news")
@@ -19,9 +21,12 @@ export default async function Home() {
const deprecated = projects.filter((project) => project.category === "deprecated")
return (
-
+
+
+
+
-
+
diff --git a/src/components/card-caption.tsx b/src/components/card-caption.tsx
index 43fe8e3b..70468f5c 100644
--- a/src/components/card-caption.tsx
+++ b/src/components/card-caption.tsx
@@ -1,3 +1,4 @@
+import Image from "next/image"
import Link from "next/link"
import type { ReactNode } from "react"
import type { IconType } from "react-icons"
@@ -9,18 +10,25 @@ export function CardCaption({
caption,
icon,
iconPosition = "right",
+ image,
href,
footer,
className,
+ titleClassName,
+ captionClassName,
}: {
title: string
caption: ReactNode
icon?: IconType
iconPosition?: "top" | "right"
+ /** An image shown in place of the icon, e.g. a project's logo. */
+ image?: string
href?: string
/** Pinned to the bottom of the card, e.g. where a link leads to. */
footer?: ReactNode
className?: string
+ titleClassName?: string
+ captionClassName?: string
}) {
return (
// Only cards that lead somewhere react to hover
@@ -32,10 +40,19 @@ export function CardCaption({
- {title}
- {icon && }
+
+ {/* Gradient per line (box-decoration-clone): a two-line title doesn't fade into a paler second line */}
+
+ {title}
+
+
+ {image ? (
+
+ ) : (
+ icon &&
+ )}
-
+
{typeof caption === "string" ? {caption}
: caption}
{footer && {footer}}
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..12dd95c3 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!
-
Scopri gli altri progetti
-- Strumenti e app realizzati dagli studenti del Politecnico, per gli studenti del Politecnico. -
+{caption}
: caption}- 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!