infoalloggi-monorepo/apps/infoalloggi/src/components/come_funziona.tsx

77 lines
2.3 KiB
TypeScript
Raw Normal View History

2025-08-04 17:45:44 +02:00
import { Handshake, HeartPlus, Home, ScrollText, Search } from "lucide-react";
import Image from "next/image";
import { useTranslation } from "~/providers/I18nProvider";
export const ComeFunziona = () => {
2025-08-28 18:27:07 +02:00
const { t } = useTranslation();
2025-08-04 17:45:44 +02:00
2025-08-28 18:27:07 +02:00
const features = [
{
2025-08-29 16:18:32 +02:00
desc: t.come_funziona.features.ricerca.desc,
2025-08-28 18:27:07 +02:00
icon: <Search className="size-8" />,
2025-08-29 16:18:32 +02:00
image: "/come_funziona_ricerca.jpg",
2025-08-28 18:27:07 +02:00
title: t.come_funziona.features.ricerca.title,
},
{
2025-08-29 16:18:32 +02:00
desc: t.come_funziona.features.aggiungi.desc,
2025-08-28 18:27:07 +02:00
icon: <HeartPlus className="size-8" />,
2025-08-29 16:18:32 +02:00
image: "/come_funziona_aggiungi.jpg",
2025-08-28 18:27:07 +02:00
title: t.come_funziona.features.aggiungi.title,
},
{
2025-08-29 16:18:32 +02:00
desc: t.come_funziona.features.contatta.desc,
2025-08-28 18:27:07 +02:00
icon: <Handshake className="size-8" />,
2025-08-29 16:18:32 +02:00
image: "/come_funziona_meet.jpg",
2025-08-28 18:27:07 +02:00
title: t.come_funziona.features.contatta.title,
},
{
2025-08-29 16:18:32 +02:00
desc: t.come_funziona.features.conferma.desc,
2025-08-28 18:27:07 +02:00
icon: <Home className="size-8" />,
2025-08-29 16:18:32 +02:00
image: "/come_funziona_confirm.jpg",
2025-08-28 18:27:07 +02:00
title: t.come_funziona.features.conferma.title,
},
{
2025-08-29 16:18:32 +02:00
desc: t.come_funziona.features.firma.desc,
2025-08-28 18:27:07 +02:00
icon: <ScrollText className="size-8" />,
2025-08-29 16:18:32 +02:00
image: "/come_funziona_contratto.jpg",
2025-08-28 18:27:07 +02:00
title: t.come_funziona.features.firma.title,
},
];
return (
<div className="mx-auto w-full max-w-6xl py-2">
2025-10-10 16:18:43 +02:00
<h2 className="max-w-xl font-semibold text-3xl tracking-tight md:mx-auto md:text-center md:text-4xl md:leading-[3.5rem]">
2025-08-28 18:27:07 +02:00
{t.come_funziona.title}
</h2>
<div className="mx-auto mt-8 w-full space-y-12 md:mt-16">
{features.map((feature, idx) => (
<div
className="flex flex-col items-center gap-x-8 gap-y-6 lg:flex-row lg:odd:flex-row-reverse"
2025-08-29 16:18:32 +02:00
key={idx}
2025-08-28 18:27:07 +02:00
>
<div className="flex shrink-0 basis-1/2 justify-center">
<Image
2025-08-29 16:18:32 +02:00
alt={`img${idx}`}
2025-10-10 16:18:43 +02:00
className="aspect-[6/4] rounded-xl border border-border/50"
2025-08-29 16:18:32 +02:00
height={200}
2025-08-28 18:27:07 +02:00
src={feature.image}
width={400}
/>
</div>
<div className="flex basis-1/2 flex-col">
<div className="flex items-center gap-3 text-blue-600">
{feature.icon}
2025-10-10 16:18:43 +02:00
<h4 className="my-3 font-semibold text-3xl tracking-tight">
2025-08-28 18:27:07 +02:00
{feature.title}
</h4>
</div>
2025-10-10 16:18:43 +02:00
<p className="text-[17px] text-muted-foreground">
2025-08-28 18:27:07 +02:00
{feature.desc}
</p>
</div>
</div>
))}
</div>
</div>
);
2025-08-04 17:45:44 +02:00
};