layout.tsx 589 B

123456789101112131415161718192021222324
  1. 'use client';
  2. import './style.scss';
  3. import { useRouter } from 'next/navigation';
  4. import { useEffect } from 'react';
  5. import useAuth from '@/hooks/useAuth';
  6. export default function AccountLayout({ children }: { children: React.ReactNode }) {
  7. const router = useRouter();
  8. const { isAuthenticated, isLoading } = useAuth();
  9. // 로그인 만료 시 홈으로 리다이렉트
  10. useEffect(() => {
  11. if (!isLoading && !isAuthenticated) {
  12. router.replace('/');
  13. }
  14. }, [isAuthenticated, isLoading, router]);
  15. if (isLoading || !isAuthenticated) {
  16. return null;
  17. }
  18. return <>{children}</>;
  19. }