Conversation
And replace hard coded forms with partials
✅ Deploy Preview for flowforge-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for flowforge-website ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
cc @UnicornGunnerz @PabloFilomeno83 and @sumitshinde-84 for visibility |
|
Converting to draft, need to do some tweaks |
|
I've updated the PR description and implementation because I've shifted the strategy based on GDPR best practices. Why I changed my mind about 'Gating' forms:
The current approach: |

Description
This PR refactors the HubSpot form integration to use a centralized, robust loading pattern. It moves from scattered inline scripts to a global helper (ffCreateHubSpotForm) that manages the form lifecycle, prevents duplicate injections, and handles failure states gracefully.
What changed
Shared HubSpot helper in base JS
loadHubSpotFormsScript()andffCreateHubSpotForm(config)insrc/_includes/base.js.Unified fallback component
src/_includes/hubspot/consent-fallback.njk.hs-form.njkhs-book-meeting.njkTemplate cleanup and reuse
src/_includes/hubspot/hs-newsletter.njkhs-form.njkwith explicit form params:src/_includes/blog/blog-posts.njksrc/_includes/migration.njksrc/blog/2025/07/certified-nodes-v2.md:templateEngineOverride: njk,md)Cookie consent copy updates
src/js/cookieconsent-config.jsRelated Issue(s)
Checklist