feat(portal): add service drawers and employee portal preview

This commit is contained in:
DeCentN2Madness committed 2026-10-30 00:03:21 -07:00
1 parent ff80ee516f
commit e97f0ea9b4
39 files changed
+1446 -130

No files matched your search

@@ -100,3 +100,26 @@ This decision does not close P9-01, P9-03, P9-05, P9-06, P9-07, P9-09 or P9-10.
The owner reports that the Form A `consultation` context and its conditional rules have been configured through the connected Jotform app. The repository now permits the nine matrix placements only when every isolated-test gate is present, including `PUBLIC_AIA_FORMS_CONSULTATION_TEST_APPROVED=true`. Three standalone pages load the fixed consultation URL immediately; six English/Spanish service drawers retain no iframe `src` until the visitor explicitly opens them. This does not change the frozen seven-route production allowlist.
The earlier version of this specification required a conditional Autism Diagnostic Evaluation explanation. That requirement is superseded: no conditional explanatory note is required in Form A or Astro. The historical decision is preserved by this dated addendum; the current contract is the client-advocate conversation described above.
## 2026-10-30 consolidated drawer behavior revision
The later owner prompt supersedes explicit-only opening for the six EN/ES
service drawers. Authorized consultation-test drawers now open after four seconds
or 50% of positive available page-scroll distance, whichever occurs first.
Opening consumes both automatic triggers. A different open modal or actively
edited field cancels that automatic opportunity without polling. Deferred
Jotform loading begins only when the drawer actually opens.
Dismissal stores only `aia:service-inquiry:auto-suppressed-until`, a first-party
expiry timestamp for 30 days shared across services and locales. Existing
consultation anchors are explicitly marked as drawer triggers; they bypass
suppression manually and retain their consultation-page href without JavaScript
or an authorized drawer. Closing renews the preference. It is not an audience,
tracking identifier, service-selection record or form-response store.
Centralized bilingual headings/introductions use provisional owner-supplied
service copy. The Academy service key has EN/ES copy for ages 2–6 but no route,
navigation change, new iframe allowance or publication entry. All original
seven production and nine isolated consultation placements remain unchanged.
No diagnostic conditional note or service preselection is introduced. The
clinical and fluent-language review gates remain open.