Skip to content

Port sqm-partner-info-modal early partner creation to 1.x - #513

Closed
Coleton (Locrian24) wants to merge 4 commits into
1.xfrom
port/partner-info-modal
Closed

Port sqm-partner-info-modal early partner creation to 1.x#513
Coleton (Locrian24) wants to merge 4 commits into
1.xfrom
port/partner-info-modal

Conversation

@Locrian24

Copy link
Copy Markdown
Contributor

Summary

  • Hand-ports sqm-partner-info-modal and the linked widget-verification → tax/cash connectionStatus flow from cash-reward-redemption / PR Cash reward redemption #490 onto the 1.x maintenance line.
  • Adapts theming to 1.x Shoelace primary (type="primary", no 2.x --sqm-primary-button-* / BrandingConfig) and omits stateController / parseStates content-editor preview infra.
  • Includes step-1 connectPartner / US & no-indirect-tax skip routing, STARTEDcompleteImpactConnection branching in user-info and indirect-tax forms, phone validation helpers, and the two PR Cash reward redemption #490 useTaxAndCash defect fixes (refetch from GET_USER + success/error handling before routing).

Resolved decisions (not open questions)

  • publish-package.yml mint-components gap does not block this PR. 1.x never listed mint-components in that workflow; 1.x publishes have used the manual bump/build/npm publish path with publishConfig.tag: "v1-mint". Wiring mint into publish-package.yml is not a small safe fix here: 1.x mint has no prepack, and stencil build --docs has a known tax-and-cash docs stack-overflow. Defer a dedicated CI follow-up; shipping this feature still works via the existing 1.x publish path.
  • Dead allowBankingCollection props left intentionally. T&C checkbox lives on the partner modal (same intent as PR Cash reward redemption #490’s “Move T&Cs checkbox…” / flagged-for-deletion on step 1). Removing the @Props from sqm-user-info-form / step1_* on sqm-tax-and-cash would churn content-editor configs, readmes, and components.d.ts without runtime benefit — not safe/simple in this port.
  • Other residual risks treated as closed for this PR: backend GraphQL (connectionStatus, startImpactConnection, completeImpactConnection) is version-agnostic; COMPLETED cohort short-circuits billing/phone revalidation in getCurrentStep; STARTED auto-complete + skip paths use the PR branching (not master’s create-only connectPartner); overrideNextStep uses correct parentheses (override || (skip ? "/3" : "/2")).

Test plan

  • cd packages/mint-components && npx tsc --noEmit (already clean on this branch)
  • Widget verification: email → code → partner modal; already-connected users skip modal and see widget content
  • Modal submit: startImpactConnectionNOT_STARTEDSTARTED, then advance past verification
  • Tax/cash step 1: US or no-indirect-tax tenant skips to /3 (or override) via completeImpactConnection when status is STARTED
  • Tax/cash step 2 path: non-skip countries still complete/create from indirect-tax form with the same STARTED branching
  • Load with STARTED + full billing: useTaxAndCash auto-completes then routes off refreshed user data
  • COMPLETED legacy partners: no modal, no forced phone revalidation / step /1
  • Visual: modal primary button inherits 1.x Shoelace primary (not 2.x near-black brand tokens)
  • After merge: cut 1.x mint release via existing manual v1-mint publish path (not publish-package.yml)

Coleton (Locrian24) and others added 4 commits July 27, 2026 22:47
Hand-port the partner-info modal and connectionStatus tax/cash wiring
from cash-reward-redemption, adapted for 1.x Shoelace theming without
2.x BrandingConfig or stateController preview infrastructure.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants