SILENT KILLERPanel

Current Path: > home > transcarter > public_html > wp-content > plugins > leadin > scripts > shared > Form > hooks


Operation   : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
Software     : Apache
Server IP    : 198.54.126.42 | Your IP: 216.73.216.135
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/transcarter/public_html/wp-content/plugins/leadin/scripts/shared/Form/hooks

NameTypeSizeLast ModifiedActions
useCreateFormFromTemplate.ts File 1559 bytes July 17 2025 21:06:25.
useForms.ts File 1479 bytes July 17 2025 21:06:25.
useFormsScript.ts File 666 bytes July 17 2025 21:06:25.
useGetTemplateAvailability.ts File 2182 bytes July 17 2025 21:06:25.

Reading File: /home/transcarter/public_html/wp-content/plugins/leadin/scripts/shared/Form/hooks/useForms.ts

import { useState } from 'react';
import debounce from 'lodash/debounce';
import { usePostAsyncBackgroundMessage } from '../../../iframe/useBackgroundApp';
import { ProxyMessages } from '../../../iframe/integratedMessages';
import { IForm } from '../../types';
import useGetTemplateAvailability, {
  getTemplateOptions,
} from './useGetTemplateAvailability';

export default function useForms() {
  const proxy = usePostAsyncBackgroundMessage();
  const [formApiError, setFormApiError] = useState<any>(null);
  const { availabilityPromise } = useGetTemplateAvailability();

  const search = debounce(
    (search: string, callback: Function) => {
      return Promise.all([
        availabilityPromise,
        proxy({
          key: ProxyMessages.FetchForms,
          payload: {
            search,
          },
        }),
      ])
        .then(([templateAvailabilityResponse, forms]) => {
          const TEMPLATE_OPTIONS = getTemplateOptions(
            templateAvailabilityResponse.templateAvailability
          );

          callback([
            ...forms.map((form: IForm) => ({
              label: form.name,
              value: form.guid,
              embedVersion: form.embedVersion,
            })),
            TEMPLATE_OPTIONS,
          ]);
        })
        .catch(error => {
          setFormApiError(error);
        });
    },
    300,
    { trailing: true }
  );

  return {
    search,
    formApiError,
    reset: () => setFormApiError(null),
  };
}

SILENT KILLER Tool