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

40 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";
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-rose-700" />
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="text-neutral-600">{t.annuncio_load_fail.sottotitolo}</p>
<div className="flex flex-wrap items-center justify-center gap-3">
<button
2025-08-29 16:18:32 +02:00
className="block rounded-lg bg-rose-600 px-4 py-2 font-medium text-white duration-150 hover:bg-rose-500 active:bg-rose-700"
2025-08-28 18:27:07 +02:00
onClick={() => {
router.back();
}}
2025-08-29 16:18:32 +02:00
type="button"
2025-08-28 18:27:07 +02:00
>
{t.annuncio_load_fail.CTA}
</button>
<Link
className="block rounded-lg border px-4 py-2 font-medium text-neutral-700 duration-150 hover:bg-neutral-50 active:bg-neutral-100"
2025-08-29 16:18:32 +02:00
href="/annunci"
2025-08-28 18:27:07 +02:00
>
{t.annuncio_load_fail.home}
</Link>
</div>
</div>
</div>
</main>
);
2025-08-22 15:44:18 +02:00
}