Files
openmonetis/app/error.tsx
Felipe Coutinho ea0b8618e0 feat: adição de novos ícones SVG e configuração do ambiente
- Adicionados ícones SVG para ChatGPT, Claude, Gemini e OpenRouter
- Implementados ícones para modos claro e escuro do ChatGPT
- Criado script de inicialização para PostgreSQL com extensão pgcrypto
- Adicionado script de configuração de ambiente que faz backup do .env
- Configurado tsconfig.json para TypeScript com opções de compilação
2025-11-15 15:49:36 -03:00

54 lines
1.5 KiB
TypeScript

"use client";
import { RiErrorWarningFill } from "@remixicon/react";
import Link from "next/link";
import { useEffect } from "react";
import { Button } from "@/components/ui/button";
import {
Empty,
EmptyContent,
EmptyDescription,
EmptyHeader,
EmptyMedia,
EmptyTitle,
} from "@/components/ui/empty";
export default function Error({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
useEffect(() => {
// Log the error to an error reporting service
console.error(error);
}, [error]);
return (
<div className="flex min-h-screen flex-col items-center justify-center p-4">
<Empty className="max-w-md border-0">
<EmptyHeader>
<EmptyMedia variant="icon" className="bg-destructive/10 size-16">
<RiErrorWarningFill className="size-8 text-destructive" />
</EmptyMedia>
<EmptyTitle className="text-2xl">Algo deu errado</EmptyTitle>
<EmptyDescription>
Ocorreu um problema inesperado. Por favor, tente novamente ou volte
para o dashboard.
</EmptyDescription>
</EmptyHeader>
<EmptyContent>
<div className="flex flex-col gap-2 sm:flex-row">
<Button onClick={() => reset()}>Tentar Novamente</Button>
<Button variant="outline" asChild>
<Link href="/dashboard">Voltar para o Dashboard</Link>
</Button>
</div>
</EmptyContent>
</Empty>
</div>
);
}