Skip to content

feat(widget): add private mode requiring send-to-wallet address#781

Draft
effie-ms wants to merge 1 commit into
feat/amount-input-cardsfrom
feat/private-tab-mode
Draft

feat(widget): add private mode requiring send-to-wallet address#781
effie-ms wants to merge 1 commit into
feat/amount-input-cardsfrom
feat/private-tab-mode

Conversation

@effie-ms

Copy link
Copy Markdown
Contributor

Which Linear task is linked to this PR?

N/A

Why was it implemented this way?

Private mode is modeled as a modeOptions.private boolean flag rather than a new WidgetMode value. This keeps the WidgetMode union untouched (no exhaustive mode switch needs a new case) and lets private compose orthogonally with the underlying mode.

The Private header tab (in jumper-simple) is now { mode: 'split', modeOptions: { split: 'swap', private: true } } — it keeps its swap-only behavior and additionally forces the "Send to wallet" recipient. A small usePrivateMode hook (mirroring useSplitMode/useSwapOnly) reads the flag from the active tab, falling back to root config. The requirement is enforced through the existing requiredToAddress path in useToAddressRequirements, which already drives both the Send-to-wallet "Required" label and the disabled Review button — so no extra branching was needed.

Visual showcase (Screenshots or Videos)

N/A

Checklist before requesting a review

  • I have performed a self-review and testing of my code.
  • This pull request is focused and addresses a single problem.
  • If this PR modifies the Widget API or adds new features that require documentation, I have updated the documentation in the public-docs repository.

@changeset-bot

changeset-bot Bot commented Jun 12, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 4385de1

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@effie-ms effie-ms changed the base branch from main to feat/amount-input-cards June 12, 2026 15:14
@github-actions

Copy link
Copy Markdown

E2E Examples — all passed

All examples passed in the latest run.

@github-actions

Copy link
Copy Markdown

E2E Playground results

passed  158 passed

Details

stats  158 tests across 10 suites
duration  2 minutes, 4 seconds
commit  4385de1

📥 Download full HTML report (open the run → Artifacts → playwright-report)

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.

1 participant