23 lines
486 B
TypeScript
23 lines
486 B
TypeScript
'use client';
|
|
|
|
import { useEffect } from 'react';
|
|
import { useRouter } from 'next/navigation';
|
|
import { useSession } from '@/lib/better-auth';
|
|
|
|
export function useAuthGuard() {
|
|
const { data: session, isPending } = useSession();
|
|
const router = useRouter();
|
|
|
|
useEffect(() => {
|
|
if (!isPending && !session) {
|
|
router.replace('/auth/signin');
|
|
}
|
|
}, [isPending, session, router]);
|
|
|
|
return {
|
|
session,
|
|
isPending,
|
|
isAuthenticated: Boolean(session?.user)
|
|
};
|
|
}
|