// @ts-nocheck

import React, { useEffect } from 'react';
import { useSafeNavigation } from './hooks/useSafeNavigation';

export default function NavigationListener({
  children,
  onScreenChange,
}: {
  children: React.ReactNode;
  onScreenChange?: (screenName: string) => void;
}) {
  const navigation = useSafeNavigation();

  useEffect(() => {
    if (!navigation) return;

    const unsubscribe = navigation?.addListener?.('state', () => {
      const currentScreenName = navigation?.getCurrentRoute?.()?.name;
      onScreenChange?.(currentScreenName);
    });

    return unsubscribe;
  }, [navigation]); // eslint-disable-line react-hooks/exhaustive-deps

  return <>{children}</>;
}
