Skip to content

Make reverification comms more clear by skipping overview screen and improving action screen#4375

Draft
Copilot wants to merge 5 commits into
masterfrom
copilot/fix-reverification-comms-clarity
Draft

Make reverification comms more clear by skipping overview screen and improving action screen#4375
Copilot wants to merge 5 commits into
masterfrom
copilot/fix-reverification-comms-clarity

Conversation

Copilot AI commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

Reverifying users were shown the same "Verify your unique identity" overview screen as first-time users, which was confusing. The fix routes them directly to the action screen with contextually appropriate content.

Changes

  • Skip overview for reverifying users: IntroFVFlow initializes showActionScreen to isReverify, so returning users land directly on IntroFVFlowAction instead of seeing IntroFVFlowOverview

  • Wallet linked box on reverification action screen: When isReverify && walletAddress, the action screen now renders the wallet block (previously only on overview). Shows "Last verified: <date>" instead of "Valid until"

  • Age checkbox for all users: The "I am 18+ and I'm verifying my own identity" checkbox was previously gated to !isReverify. It's now shown unconditionally, and the "Verify Me"/"Continue" button requires both checkboxes for all users

  • lastVerified prop: Derived from expiryDate?.lastAuthenticated (BigNumber unix timestamp) via moment.unix() in IntroScreen, threaded down to both IntroFVFlowAction and IntroReVerification

  • IntroReVerification updated (non-FV-flow reverification path): The legacy reverification screen used in the regular GoodDAPP flow (when isFVFlow === false) now also receives the wallet linked box (with "Last verified" date), the age confirmation checkbox, and the GoodDollar consent checkbox. The "Continue" button is gated behind both checkboxes.

// IntroFVFlow: reverifying users skip overview screen
const [showActionScreen, setShowActionScreen] = useState(isReverify)

// IntroScreen: compute lastVerified from on-chain timestamp
const lastVerified = useMemo(() => {
  const ts = expiryDate?.lastAuthenticated
  return ts && !ts.isZero() ? moment.unix(ts.toNumber()).format('l') : null
}, [expiryDate?.lastAuthenticated])

Copilot AI linked an issue Apr 16, 2026 that may be closed by this pull request
@vercel

vercel Bot commented Apr 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

3 Skipped Deployments
Project Deployment Actions Updated (UTC)
gooddollar-delta Ignored Ignored Preview Apr 16, 2026 2:32pm
goodid Ignored Ignored Preview Apr 16, 2026 2:32pm
goodwallet Ignored Ignored Apr 16, 2026 2:32pm

Request Review

Copilot AI changed the title [WIP] Fix reverification communications for user clarity Make reverification comms more clear by skipping overview screen and improving action screen Apr 16, 2026
Copilot AI requested a review from sirpy April 16, 2026 12:14
@sirpy sirpy requested a review from L03TJ3 April 16, 2026 13:17
@sirpy

sirpy commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

@copilot can you explain what the component IntroReVerification is for? is it used?

Copilot AI commented Apr 16, 2026

Copy link
Copy Markdown
Contributor Author

@copilot can you explain what the component IntroReVerification is for? is it used?

IntroReVerification is used in the non-FV-flow (regular GoodDAPP) path — it renders when isFVFlow === false && isReverify === true. The IntroFVFlow/IntroFVFlowAction components handle the standalone FV flow (isFVFlow === true).

Since it's a separate code path for reverifying users, I've updated it in commit 2bca08d to include the same improvements: the wallet linked box (with "Last verified" date), plus both the age confirmation and GoodDollar consent checkboxes. The "Continue" button now requires both checkboxes.

@sirpy

sirpy commented Apr 16, 2026

Copy link
Copy Markdown
Contributor

@copilot can you test it locally that it works and produce a screenshot?
if you can make sure you run it with env REACT_APP_BUILD_TARGET=FV

Copilot AI commented Apr 16, 2026

Copy link
Copy Markdown
Contributor Author

@copilot can you test it locally that it works and produce a screenshot?
if you can make sure you run it with env REACT_APP_BUILD_TARGET=FV

Ran it locally with REACT_APP_BUILD_TARGET=FV using a local mock server for auth. Here are the three screens in the FV flow:

1. Overview screen (new/first-time users only — reverifying users skip this entirely and land directly on screen 3):

FV Overview

2. Action screen — checkboxes unchecked, "Verify Me" disabled:

FV Action unchecked

3. Action screen — both checkboxes checked, "Verify Me" enabled:

FV Action checked

Key behaviours confirmed:

  • Both the age ("I am 18+") and GoodDollar consent checkboxes appear for all users
  • "Verify Me" only becomes active once both are checked
  • Reverifying users skip the overview screen and land directly on the action screen (which would additionally show the "WALLET LINKED / Last verified: <date>" block when on-chain lastAuthenticated is non-zero)

Agent-Logs-Url: https://github.com/GoodDollar/GoodDAPP/sessions/8988dca1-e107-46a0-a58b-d0528cb21919

Co-authored-by: sirpy <671095+sirpy@users.noreply.github.com>
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.

Make reverification comms more clear

2 participants