feat(forms): add isolated Form A iframe adapter
This commit is contained in:
18 files changed
+1345
-170
No files matched your search
@@ -1,7 +1,8 @@
|
||||
---
|
||||
import Icon from './Icon.astro';
|
||||
import FormAPreview from '../FormAPreview.astro';
|
||||
import { formAPreviewEnabled, formModeForRuntime, resolveFormMode } from '../../utils/form-integration';
|
||||
import JotformIframe from '../JotformIframe.astro';
|
||||
import { formAPreviewEnabled, formModeForRuntime, resolveFormAIframe, resolveFormMode } from '../../utils/form-integration';
|
||||
interface Props {
|
||||
sourcePage: 'general' | 'commercial' | 'ahcccs' | 'private_pay';
|
||||
title: string;
|
||||
@@ -13,6 +14,23 @@ const phone = import.meta.env.PUBLIC_AIA_PHONE || '480-687-7099';
|
||||
const tel = phone.replace(/[^0-9+]/g, '');
|
||||
const formConfig = resolveFormMode(import.meta.env.PUBLIC_AIA_FORMS_MODE, import.meta.env.PUBLIC_AIA_FORMS_LIVE_APPROVED);
|
||||
const formPreview = formAPreviewEnabled(import.meta.env.PUBLIC_AIA_FORM_A_PREVIEW, import.meta.env.PUBLIC_ALLOW_INDEXING, formModeForRuntime(formConfig));
|
||||
const campaignRoute = sourcePage === 'general'
|
||||
? '/lp/aba-therapy'
|
||||
: sourcePage === 'commercial'
|
||||
? '/lp/aba-insurance'
|
||||
: sourcePage === 'ahcccs'
|
||||
? '/lp/aba-ahcccs'
|
||||
: '/lp/aba-private-pay';
|
||||
const iframeDescription = 'Use this form to request a conversation. An AIA team member can explain the next steps for your family.';
|
||||
const formAIframe = resolveFormAIframe({
|
||||
rawMode: import.meta.env.PUBLIC_AIA_FORMS_MODE,
|
||||
liveApproved: import.meta.env.PUBLIC_AIA_FORMS_LIVE_APPROVED,
|
||||
isolatedTestApproved: import.meta.env.PUBLIC_AIA_FORMS_ISOLATED_TEST_APPROVED,
|
||||
environmentRole: import.meta.env.PUBLIC_AIA_FORMS_ENVIRONMENT,
|
||||
allowIndexing: import.meta.env.PUBLIC_ALLOW_INDEXING,
|
||||
route: campaignRoute,
|
||||
locale: 'en',
|
||||
});
|
||||
---
|
||||
<section class="section consultation" id="consultation" aria-labelledby="consultation-heading">
|
||||
<div class="container consultation__panel grid-2">
|
||||
@@ -22,7 +40,9 @@ const formPreview = formAPreviewEnabled(import.meta.env.PUBLIC_AIA_FORM_A_PREVIE
|
||||
<p class="lede">{intro}</p>
|
||||
</div>
|
||||
<div class="form-wrap">
|
||||
{formPreview ? <FormAPreview lang="en" variant="compact" submitText={buttonText} /> : <div id="lead-form" role="group" aria-labelledby="campaign-form-heading" data-forms-mode="off">
|
||||
{formAIframe.enabled
|
||||
? <JotformIframe config={formAIframe} heading="Start with your contact details" description={iframeDescription} variant="embedded" />
|
||||
: formPreview ? <FormAPreview lang="en" variant="compact" submitText={buttonText} /> : <div id="lead-form" role="group" aria-labelledby="campaign-form-heading" data-forms-mode="off">
|
||||
<!-- TODO: Replace this inactive presentation with the approved Jotform integration under P9-03. -->
|
||||
<!-- TODO: Verify privacy, spam protection and notifications before production activation. -->
|
||||
<h3 id="campaign-form-heading">Start with your contact details</h3>
|
||||
|
||||
Reference in new issue
Block a user