Your IP : 216.73.216.1


Current Path : /proc/self/cwd/wp-contentn/plugins/leadin/scripts/shared/Form/
Upload File :
Current File : //proc/self/cwd/wp-contentn/plugins/leadin/scripts/shared/Form/useFormsScript.ts

import $ from 'jquery';

import { useEffect, useState } from 'react';
import { formsScript } from '../../constants/leadinConfig';
import Raven from '../../lib/Raven';

let promise: Promise<string | undefined>;

function loadFormsScript() {
  if (!promise) {
    promise = new Promise((resolve, reject) =>
      $.getScript(formsScript)
        .done(resolve)
        .fail(reject)
    );
  }
  return promise;
}

export default function useFormScript() {
  const [ready, setReady] = useState(false);

  useEffect(() => {
    loadFormsScript()
      .then(() => setReady(true))
      .catch(error => Raven.captureException(error));
  }, []);

  return ready;
}