infoalloggi-monorepo/apps/infoalloggi/src/components/failed-loading.tsx

44 lines
1.3 KiB
TypeScript
Raw Normal View History

2025-08-22 15:44:18 +02:00
import Link from "next/link";
import { useRouter } from "next/router";
import { HomeIcon } from "~/components/IconComponents";
2025-08-28 18:27:07 +02:00
import { useTranslation } from "~/providers/I18nProvider";
import { Button } from "./ui/button";
2025-08-22 15:44:18 +02:00
export default function FailedAnnuncioLoading() {
2025-08-28 18:27:07 +02:00
const router = useRouter();
const { t } = useTranslation();
return (
<main>
<div className="mx-auto flex h-screen max-w-screen-xl items-center justify-start px-4 md:px-8">
<div className="mx-auto max-w-lg space-y-3 text-center">
<HomeIcon className="mx-auto size-20 text-destructive" />
2025-10-10 16:18:43 +02:00
<h3 className="font-semibold text-4xl text-accent-foreground sm:text-5xl">
2025-08-28 18:27:07 +02:00
{t.annuncio_load_fail.titolo}
</h3>
<p className="">{t.annuncio_load_fail.sottotitolo}</p>
2025-08-28 18:27:07 +02:00
<div className="flex flex-wrap items-center justify-center gap-3">
<Button
2025-08-28 18:27:07 +02:00
onClick={() => {
router.back();
}}
size="lg"
variant="destructive"
2025-08-28 18:27:07 +02:00
>
{t.annuncio_load_fail.CTA}
</Button>
2025-08-28 18:27:07 +02:00
<Link
//className="block rounded-lg border border-border px-4 py-2 font-medium duration-150"
2025-08-29 16:18:32 +02:00
href="/annunci"
2025-08-28 18:27:07 +02:00
>
<Button size="lg" variant="outline">
{t.annuncio_load_fail.home}
</Button>
2025-08-28 18:27:07 +02:00
</Link>
</div>
</div>
</div>
</main>
);
2025-08-22 15:44:18 +02:00
}