"use client"; import { Spinner } from "@/shared/libs/shadcn/ui/spinner"; import { submitProviderCallback } from "@/features/authCallback/actions/submitProviderCallback"; import { useParams, useSearchParams } from "next/navigation"; import { useEffect, useState } from "react"; const AuthCallbackIndex = () => { const { name } = useParams(); const queries = useSearchParams().toString(); const [textDescription, setTextDescription] = useState( "We are processing your authentication.", ); const finishOAuthFlow = (type: string) => { setTimeout(() => { if (!window.opener) window.location.href = "/"; window.opener.postMessage({ type: type }, window.location.origin); window.close(); }, 1000); }; useEffect(() => { (async () => { const response = await submitProviderCallback(name as string, queries); if (response.success) { setTextDescription("Authentication successful! Redirecting..."); finishOAuthFlow("oauth-success"); } else { console.error("Error in authentication callback:", response); setTextDescription("Authentication failed. Please try again."); finishOAuthFlow("oauth-failed"); } })(); }, [name, queries]); return (

Please wait...

{textDescription}

); }; export default AuthCallbackIndex;