'use client';

import { useEffect } from 'react';
import { useRouter } from 'next/navigation';
import { useAuth } from '@/contexts/AuthContext';

/**
 * Если пользователь авторизован — редирект на дашборд.
 * Страницы логина/регистрации и т.д. не должны быть доступны авторизованным.
 */
export function AuthRedirect({ children }: { children: React.ReactNode }) {
  const router = useRouter();
  const { user, loading } = useAuth();

  useEffect(() => {
    if (loading) return;
    if (user) {
      router.replace('/dashboard');
    }
  }, [user, loading, router]);

  if (loading) {
    return (
      <div
        style={{
          minHeight: '100vh',
          display: 'flex',
          alignItems: 'center',
          justifyContent: 'center',
          background: '#fff',
        }}
      >
        <div style={{ fontSize: 16, color: 'var(--md-sys-color-on-surface-variant)' }}>
          Загрузка...
        </div>
      </div>
    );
  }

  if (user) {
    return (
      <div
        style={{
          minHeight: '100vh',
          display: 'flex',
          alignItems: 'center',
          justifyContent: 'center',
          background: '#fff',
        }}
      >
        <div style={{ fontSize: 16, color: 'var(--md-sys-color-on-surface-variant)' }}>
          Вы уже вошли. Перенаправление...
        </div>
      </div>
    );
  }

  return <>{children}</>;
}
