mirror of
https://github.com/logos-co/logos-web.git
synced 2026-08-27 12:11:14 +00:00
* add forms for CRM funnels * a * feat(civi-crm): add notion-coalition-partner API route Accepts coalition-partner form submissions and writes them to a Notion DB. Resolves numeric IDs for country, skills and chat service to human-readable labels. Same hCaptcha guard pattern as afform-submit. Includes CORS headers for cross-origin requests from apps/web. * feat(web): wire coalition-partner form to Notion API route * fix(web): checkbox default value and broken checked visual state Checkboxes were initialising to true instead of false, causing unchecked submissions to send true to the API. peer-checked: on the Check icon also never fired because it is not a direct sibling of the peer input -- replaced with group-has-[input:checked]: which works via the label's group class. * chore(civir-crm-api): suppress unused variable warnings in coalition-partner route * fix(civi-crm): set CORS headers for public API routes via next.config * set profile and lead source - https://civicrm.logos.co/civicrm/admin/afform/submissions#/?name=afformActivistBuilder - https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000 - https://civicrm.logos.co/civicrm/contact/view?reset=1&cid=1000 - https://civicrm.logos.co/civicrm/contact/view/case?reset=1&id=388&cid=1000&action=view&context=case&selectedChild=case&key=CRMCaseFormSearch3vjNUK027Z0YMdmpnTbHyNePydwogixSnFN3Z2YluYYR4_8939 * default checkboxes to true * remove titles * u * add policy * t * fix(civi-crm): avoid readonly env writes in CORS test Use a keyed env helper in the public CORS test so cleanup and setup no longer rely on delete or readonly typed env properties. * fix(web): align node programme route keys Rename node program route/message keys to node programme and update links, metadata, sitemap entries, and contract tests. * chore(civi-crm): lint:fix * docs(funnel): document Notion intake CRM setup Add funnel docs covering goals, property mapping, completed schema DDL, Hide-when-empty limitations, manual UI checklist, and implementation roadmap. * feat(civi-crm): add Notion lib for funnel intake submissions Self-contained maps, property builder, and submitToNotion with Organization option matching and Notion-Version 2026-03-11. * docs(funnel): add implementation guide and sync status Document phased steps, Notion lib layout, and refresh README/roadmap for completed schema and submitToNotion work still pending wiring. * docs(funnel): expand implementation steps and Notion lib notes Document goals per phase, legacy route vs src/lib/notion/, and link schema mapping to the code. * refactor(civi-crm): extract Afform submit into submit-afform lib Decouple CiviCRM writes from the afform-submit route for upcoming Notion + CiviCRM orchestration. * feat(civi-crm): add funnel intake submit disable flags FUNNEL_INTAKE_NOTION_DISABLED and FUNNEL_INTAKE_CIVICRM_DISABLED opt out per destination; unset means submit (default). * feat(civi-crm): orchestrate afform-submit with Notion and CiviCRM Verify hCaptcha once; Notion required when enabled, CiviCRM best-effort. Point coalition partner at the shared endpoint; add CORS for public web. * feat(civi-crm): set Notion BU to Movement on funnel intake * chore(civi-crm): remove notion coalition partner route * docs(civi-crm): document funnel intake endpoint and env * docs(funnel): document orchestrator, env flags, and BU default * docs(funnel): document cleanup completion and deploy checklist Record removal of notion-coalition-partner, single afform-submit path, and non-local Notion env requirements for operators. * docs(funnel): replace per-phase docs with consolidated AGENTS.md Merge README, implementation, and notion-database into a single agent-targeted reference covering request flow, code layout, env vars, and the full IFT BD CRM schema (all 32 properties, funnel relevance annotated). * refactor(civi-crm): rename NOTION_COALITION_PARTNER_DB_ID to NOTION_DB_ID * docs: rename NOTION_COALITION_PARTNER_DB_ID to NOTION_DB_ID * feat(notion): add scorecard page content to funnel form submissions heading_2, four bulleted_list_item blocks, and a paragraph for the overall fit line using proper Notion block types. * refactor(civi-crm): drop wildcard CORS from afform-submit Rely on the public-cors middleware for origin allowlisting instead of emitting Access-Control-Allow-Origin: * and a redundant OPTIONS handler. --------- Co-authored-by: Felicio <felicio@users.noreply.github.com>