'use client';

import React, { useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { useAuth } from '@/hooks/teltoinstall/auth/useAuth';
import { PageLoader } from '@/components/teltoinstall/_index';
import { setUnauthorizedCallback } from '@/services/HttpClient';

export default function ProtectedLayout({ children }: { children: React.ReactNode }) {
  const { isAuthenticated } = useAuth();
  const router = useRouter();

  useEffect(() => {
    setUnauthorizedCallback(() => router.push('/login'));
  }, [router]);

  useEffect(() => {
    if (!isAuthenticated) {
      router.push('/login');
    }
  }, [isAuthenticated, router]);

  if (!isAuthenticated) return <PageLoader />;

  return <>{children}</>;
}
