Skip to content

feat(wallet): Benzo-focused onboarding copy + fit the welcome screen (no scroll) - #89

Merged
hitakshiA merged 1 commit into
mainfrom
feat/wallet-onboarding-copy-fit
Jul 11, 2026
Merged

feat(wallet): Benzo-focused onboarding copy + fit the welcome screen (no scroll)#89
hitakshiA merged 1 commit into
mainfrom
feat/wallet-onboarding-copy-fit

Conversation

@hitakshiA

@hitakshiA hitakshiA commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Two asks

  1. No vertical scroll on the welcome screen — it was overflowing the phone frame (Import + the passcode link fell below the fold).
  2. Copy focused on Benzo's features, not generic self-custody.

Copy (now leads with what Benzo does)

  • Heading: Money you control. Private by default.
  • Sub: Send and receive USDC on Avalanche — balances and amounts encrypted end-to-end.
  • Cards: Private by default (sealed on-chain with ZK proofs) · Private USDC on Avalanche (shielded transfers settle in seconds) · Yours in one tap (self-custody, no login).

Fit

Compacted logo/heading/type, card padding + spacing, and added a tight Pane variant (less top padding — welcome has no back button). Frees ~120px vs. an overflow of ~60–90px, so it sits inside the frame with headroom; the existing overflow-y-auto only ever engages now on unusually short viewports.

Build ✓ · lint ✓ · 217/217 tests.

Summary by CodeRabbit

  • New Features
    • Refreshed the onboarding welcome screen with updated messaging, benefits, icons, and visual styling.
    • Added clearer optional encryption guidance during passcode creation.

Greptile Summary

This PR refreshes the wallet onboarding welcome screen and tightens its layout.

  • Benzo-focused welcome headline, subtitle, and feature cards.
  • Smaller logo, text, card padding, and vertical spacing.
  • New tight Pane variant used by the welcome step.
  • Updated passcode copy for the no-passkey path.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
apps/wallet/src/screens/Onboarding.tsx Updates onboarding copy and welcome-screen spacing with a local tight Pane option.

Reviews (1): Last reviewed commit: "feat(wallet): Benzo-focused onboarding c..." | Re-trigger Greptile

…(no scroll)

Rewrite the welcome copy to lead with Benzo's features — private, encrypted
USDC on Avalanche via zero-knowledge proofs — instead of generic self-custody
boilerplate. Compact the layout (tighter padding, cards and type + a 'tight'
Pane variant with less top padding since welcome has no back button) so the
whole screen fits the phone frame with no vertical scroll. Also reframe the
optional-passcode step as an opt-in (it is no longer a no-passkey fallback).
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The onboarding welcome step receives updated feature copy, icons, typography, spacing, and card styling. The internal Pane component gains a tight layout option, and the passcode step description now explains that encryption is optional and skippable.

Changes

Onboarding presentation

Layer / File(s) Summary
Welcome and passcode step updates
apps/wallet/src/screens/Onboarding.tsx
Feature titles, descriptions, icons, welcome layout styling, pane padding behavior, and passcode encryption text are updated.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly captures the main changes: Benzo-focused onboarding copy and a tighter welcome screen layout.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/wallet-onboarding-copy-fit

Comment @coderabbitai help to get the list of available commands.

@hitakshiA
hitakshiA merged commit 855fdf4 into main Jul 11, 2026
3 checks passed
@hitakshiA
hitakshiA deleted the feat/wallet-onboarding-copy-fit branch July 11, 2026 12:38

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@apps/wallet/src/screens/Onboarding.tsx`:
- Line 164: Add a visible skip-passcode action on the passcode screen and wire
it to the existing handleCreate handler, so users can continue without creating
a passcode. Keep the existing explanatory copy and passcode flow unchanged.
- Line 116: Update the welcome Pane identified by key="welcome" in Onboarding so
it disables vertical scrolling while preserving its fixed phone-frame height; do
not rely on tight, since that only changes padding. Ensure the welcome variant
uses the existing non-scrollable Pane behavior or an equivalent overflow
setting, and keep other onboarding panes unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fd72ecba-a6ea-46b1-bbcc-4680d4b75d7b

📥 Commits

Reviewing files that changed from the base of the PR and between e5649c5 and c2c4d36.

📒 Files selected for processing (1)
  • apps/wallet/src/screens/Onboarding.tsx

<AnimatePresence mode="wait">
{step === "welcome" && (
<Pane key="welcome">
<Pane key="welcome" tight>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the onboarding screen and the Pane component to see whether `tight`
# changes scrolling behavior or only padding.
git ls-files 'apps/wallet/src/screens/Onboarding.tsx' 'apps/wallet/src/components/**' 'apps/wallet/src/**/Pane*' 'apps/wallet/src/**/pane*' | sed 's#^`#FILE` #'
echo '--- Onboarding.tsx (excerpt) ---'
cat -n apps/wallet/src/screens/Onboarding.tsx | sed -n '90,150p'
echo '--- Pane matches ---'
rg -n "overflow-y-auto|tight|function Pane|const Pane|export .*Pane" apps/wallet/src -g '!**/dist/**' -g '!**/build/**'

Repository: Miny-Labs/benzo-wallet

Length of output: 6437


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# If Pane is in another path, locate it precisely and inspect the implementation.
fd -a -H -t f 'Pane.*|pane.*' apps/wallet/src

Repository: Miny-Labs/benzo-wallet

Length of output: 160


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Read the Pane implementation once located.
pane_file="$(fd -a -H -t f 'Pane.*|pane.*' apps/wallet/src | head -n 1)"
if [ -n "$pane_file" ]; then
  echo "PANE_FILE $pane_file"
  cat -n "$pane_file" | sed -n '1,220p'
fi

Repository: Miny-Labs/benzo-wallet

Length of output: 160


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the Pane implementation and surrounding layout to assess whether the
# welcome screen can overflow on the intended phone-frame container.
cat -n apps/wallet/src/screens/Onboarding.tsx | sed -n '260,310p'
echo '--- App shell ---'
cat -n apps/wallet/src/App.tsx | sed -n '100,140p'

Repository: Miny-Labs/benzo-wallet

Length of output: 4184


Welcome pane still scrolls apps/wallet/src/screens/Onboarding.tsx:116,281-284tight only changes padding; Pane still sets overflow-y-auto. If the phone-frame is meant to stay fixed-height, make the welcome variant non-scrollable or add a regression test for the smallest supported viewport.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/wallet/src/screens/Onboarding.tsx` at line 116, Update the welcome Pane
identified by key="welcome" in Onboarding so it disables vertical scrolling
while preserving its fixed phone-frame height; do not rely on tight, since that
only changes padding. Ensure the welcome variant uses the existing
non-scrollable Pane behavior or an equivalent overflow setting, and keep other
onboarding panes unchanged.

<h1 className="font-display mt-5 text-center text-[24px] leading-tight">Set a passcode</h1>
<p className="mt-2 text-center text-[14px] text-muted max-w-[290px] mx-auto">
This device has no passkey, so your wallet keys are encrypted with a passcode you choose.
Optional: encrypt your wallet with a passcode you enter to unlock. Skip it and your wallet just opens instantly.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Provide a visible way to skip passcode creation.

This copy says the passcode can be skipped, but the passcode screen exposes no skip CTA; the only escape is the back button, followed by another tap on “Create new wallet.” Add a visible skip action wired to handleCreate, or clarify that users must return to the welcome screen.

Proposed UI addition
                 <Button full size="lg" onClick={handleCreateWithPasscode} loading={busy} data-testid="create-passcode">
                   Set passcode & create
                 </Button>
+                <Button full variant="secondary" size="lg" onClick={handleCreate} loading={busy}>
+                  Skip passcode
+                </Button>
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@apps/wallet/src/screens/Onboarding.tsx` at line 164, Add a visible
skip-passcode action on the passcode screen and wire it to the existing
handleCreate handler, so users can continue without creating a passcode. Keep
the existing explanatory copy and passcode flow unchanged.

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