Sifa professional network frontend (Next.js, React, TailwindCSS) sifa.id/
at main 38 lines 1.1 kB view raw
1'use client'; 2 3import { useEffect, useRef } from 'react'; 4import { useRouter } from 'next/navigation'; 5import { useAuth } from '@/components/auth-provider'; 6import { trackEvent } from '@/lib/analytics'; 7import { hasSeenOnboarding } from '@/lib/onboarding'; 8 9export function AuthReturnHandler() { 10 const { session, isLoading } = useAuth(); 11 const router = useRouter(); 12 const tracked = useRef(false); 13 14 useEffect(() => { 15 if (isLoading || !session) return; 16 17 if (!tracked.current) { 18 tracked.current = true; 19 trackEvent('signup'); 20 } 21 22 // Honor explicit returnTo first 23 const returnTo = sessionStorage.getItem('auth_returnTo'); 24 if (returnTo && returnTo !== '/') { 25 sessionStorage.removeItem('auth_returnTo'); 26 router.replace(returnTo); 27 return; 28 } 29 sessionStorage.removeItem('auth_returnTo'); 30 31 // Redirect new users to /welcome (unless already seen this session) 32 if (session.isNewUser && !hasSeenOnboarding()) { 33 router.replace('/welcome'); 34 } 35 }, [session, isLoading, router]); 36 37 return null; 38}