Skip to content

feat: Add B2B organizational learning landing page - #3846

Draft
daniellefrappier18 wants to merge 12 commits into
mainfrom
daniellef/13016-b2b-org-landing-page
Draft

feat: Add B2B organizational learning landing page#3846
daniellefrappier18 wants to merge 12 commits into
mainfrom
daniellef/13016-b2b-org-landing-page

Conversation

@daniellefrappier18

@daniellefrappier18 daniellefrappier18 commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

What are the relevant tickets?

Closes https://github.com/mitodl/hq/issues/13016

Description (What does it do?)

Adds the new /organizational-learning landing page for B2B/institutional audiences, gated behind the organizational-learning PostHog feature flag (404s when disabled).

Screen Recording

Desktop

Screen.Recording.2026-08-28.at.3.53.55.PM.mov

Mobile

Screen.Recording.2026-08-28.at.3.55.02.PM.mov

How can this be tested?

  1. Enable the organizational-learning feature flag for your user in PostHog (or override it locally), then visit /organizational-learning — confirm it 404s with the flag off.
  2. Walk through each section (Hero → Featured Program → Offerings → Delivery Formats → Continuum → FAQ) at desktop, tablet, and mobile widths.
  3. In "Get in touch," select My organization — confirm the HubSpot form loads, submits successfully, and shows the success state; also check the submission-failure and form-unavailable states.
  4. Select Myself — confirm the form is replaced by the individual panel (icon, heading, body copy, single CTA) and the CTA link goes to /search.
  5. Confirm the nav link to the new page renders correctly.

Additional Context

⚠️ Copy is placeholder, not final marketing copy
⚠️ The HubSpot form ID is a dummy/reused ID. NEXT_PUBLIC_ORG_LEARNING_HUBSPOT_FORM_ID points at the existing Universal AI landing page's HubSpot form (portal 4994459) as a stand-in
⚠️ This entire page is behind the organizational-learning feature flag and isn't reachable in production until that flag is turned on.
⚠️ NEXT_PUBLIC_ORG_LEARNING_HUBSPOT_FORM_ID has no entry in ol-infrastructure's raw_env_vars dict (ol_infrastructure/applications/mit_learn_nextjs/__main__.py), unlike NEXT_PUBLIC_STAY_UPDATED_HUBSPOT_FORM_ID so in CI/QA/production the var is unset, getOrgLearningHubspotFormId() returns "", and the "My organization" path in OrgLeadForm.tsx shows the "contact form is unavailable" fallback instead of the real HubSpot form. This will need to be updated
once we get the real form id.

@github-actions

github-actions Bot commented Aug 27, 2026

Copy link
Copy Markdown

OpenAPI Changes

No changes detected

View full changelog

Unexpected changes? Ensure your branch is up-to-date with main (consider rebasing).

@daniellefrappier18
daniellefrappier18 force-pushed the daniellef/13016-b2b-org-landing-page branch from b9b2eac to eebac26 Compare August 28, 2026 15:21
@daniellefrappier18
daniellefrappier18 marked this pull request as ready for review August 28, 2026 19:03
@daniellefrappier18
daniellefrappier18 requested a review from a team as a code owner August 28, 2026 19:03
Copilot AI balanced review requested due to automatic review settings August 28, 2026 19:03

This comment was marked as outdated.

daniellefrappier18 and others added 3 commits August 28, 2026 15:53
Fixes 4 issues flagged in review: scrollToElement no longer strips
naturally-focusable targets from the tab order, OrgLeadForm's success
screen is scoped to the org audience so a pending submission can't
clobber the individual panel after an audience switch, the drawer
trigger now exposes aria-expanded and an accessible name on mobile,
and the form-unavailable message is announced via role="alert".

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@daniellefrappier18
daniellefrappier18 marked this pull request as draft August 28, 2026 20:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants