SILENT KILLERPanel

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


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/

NameTypeSizeLast ModifiedActions
hooks Directory - -
FormEdit.tsx File 2659 bytes July 17 2025 21:06:25.
FormSelect.tsx File 2167 bytes July 17 2025 21:06:25.
FormSelector.tsx File 881 bytes July 17 2025 21:06:25.
PreviewForm.tsx File 1587 bytes July 17 2025 21:06:25.

Reading File: /home/transcarter/public_html/wp-content/plugins/leadin/scripts/shared/Form//FormEdit.tsx

import React, { Fragment, useEffect } from 'react';
import { portalId, refreshToken } from '../../constants/leadinConfig';
import UISpacer from '../UIComponents/UISpacer';
import PreviewForm from './PreviewForm';
import FormSelect from './FormSelect';
import { IFormBlockProps } from '../../gutenberg/FormBlock/registerFormBlock';
import {
  usePostBackgroundMessage,
  BackgroudAppContext,
  useBackgroundAppContext,
} from '../../iframe/useBackgroundApp';
import { ProxyMessages } from '../../iframe/integratedMessages';
import LoadingBlock from '../Common/LoadingBlock';
import { getOrCreateBackgroundApp } from '../../utils/backgroundAppUtils';
import { isRefreshTokenAvailable } from '../../utils/isRefreshTokenAvailable';

interface IFormEditProps extends IFormBlockProps {
  preview: boolean;
  origin: 'gutenberg' | 'elementor';
  fullSiteEditor?: boolean;
}

function FormEdit({
  attributes,
  isSelected,
  setAttributes,
  preview = true,
  origin = 'gutenberg',
  fullSiteEditor,
}: IFormEditProps) {
  const { formId, formName, embedVersion } = attributes;
  const formSelected = portalId && formId;

  const isBackgroundAppReady = useBackgroundAppContext();
  const monitorFormPreviewRender = usePostBackgroundMessage();

  const handleChange = (selectedForm: {
    value: string;
    label: string;
    embedVersion?: string;
  }) => {
    setAttributes({
      portalId,
      formId: selectedForm.value,
      formName: selectedForm.label,
      embedVersion: selectedForm.embedVersion,
    });
  };

  useEffect(() => {
    monitorFormPreviewRender({
      key: ProxyMessages.TrackFormPreviewRender,
      payload: {
        origin,
      },
    });
  }, [origin]);

  return !isBackgroundAppReady ? (
    <LoadingBlock />
  ) : (
    <Fragment>
      {(isSelected || !formSelected) && (
        <FormSelect
          formId={formId}
          formName={formName}
          handleChange={handleChange}
          origin={origin}
          embedVersion={embedVersion}
        />
      )}
      {formSelected && (
        <Fragment>
          {isSelected && <UISpacer />}
          {preview && (
            <PreviewForm
              portalId={portalId}
              formId={formId}
              fullSiteEditor={fullSiteEditor}
              embedVersion={embedVersion}
            />
          )}
        </Fragment>
      )}
    </Fragment>
  );
}

export default function FormEditContainer(props: IFormEditProps) {
  return (
    <BackgroudAppContext.Provider
      value={
        isRefreshTokenAvailable() && getOrCreateBackgroundApp(refreshToken)
      }
    >
      <FormEdit {...props} />
    </BackgroudAppContext.Provider>
  );
}

SILENT KILLER Tool