import { useEffect } from 'react';
import { useNavigate, useSearchParams } from 'react-router-dom';

import { To } from './types';

export const Redirect = ({ to }: { to: To }) => {
  const navigate = useNavigate();
  const [searchParams] = useSearchParams();

  useEffect(() => {
    if (to) {
      const target = searchParams.get('target');
      if (target) {
        navigate(target, { replace: true });
      } else {
        navigate(to, { replace: true });
      }
    }
  }, [navigate, to, searchParams]);

  return null;
};
