Skip to content

Lidando com erros de login

Vamos fazer exatamente a mesma coisa que fizemos na rota de cadastro. Vamos criar uma página error.tsx e lidar com os erros ali. Só que, dessa vez, vou extrair o nosso componente error-card para uma pasta hierarquicamente superior, já que vamos utilizá-lo agora em dois lugares difrerentes.

Criando o error.tsx

Vamos criar, conforme a documentação do Next.js a nossa página error.tsx

'use client';
import ErrorCard from '../_components/error-card';
export default function RegisterError({
error,
reset,
}: {
error: Error & { digest?: string };
reset: () => void;
}) {
return <ErrorCard errorMessage={error.message} reset={reset} />;
}

Usando o Componente error-card.tsx

Vamos usar exatamente o mesmo componente que usamos no formulário de register. Vou criar uma pasta app/(auth)/_components e colocá-lo ali. A razão para isso é que esse componente será reaproveitado em vários lugares da nossa autenticação. De novo, é questão de padrão e gosto onde colocar seus componentes. Vou usar a heurística de colocar os componentes que são acoplados com alguma rota junto delas. Como esse error-card vou usar apenas em rotas de autenticação, vou colocar em uma pasta _components dentro da pasta (auth).

Depois, basta atualizar as importações e voilá! Nosso sistema de login está funcionando!