Skip to content

fix: adjust Onboarding screens ui feedback - part 1#1250

Open
lealobanov wants to merge 9 commits into
devfrom
111-onboarding-ui-feedback
Open

fix: adjust Onboarding screens ui feedback - part 1#1250
lealobanov wants to merge 9 commits into
devfrom
111-onboarding-ui-feedback

Conversation

@lealobanov
Copy link
Copy Markdown
Contributor

@lealobanov lealobanov commented Feb 6, 2026

Closes #111
Screenshot 2026-02-06 at 4 42 25 PM

With accessibility text scaling on:
Screenshot 2026-02-06 at 4 51 52 PM
Screenshot 2026-02-06 at 4 57 21 PM
Screenshot 2026-02-06 at 5 06 10 PM

🔗 Related Issues

Linked automatically from the branch name. If incorrect, edit:

Self-Checklist

  • I read through my own diff
  • I ran at least one manual check
  • No mock / debug code left in production code

📝 Description

📸 Screenshots/Videos

@lealobanov lealobanov requested a review from a team as a code owner February 6, 2026 08:43
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 6, 2026

PR Summary

Adjusted UI feedback for multiple onboarding screens to improve layout, spacing, and accessibility support. Key changes include moving buttons inside scroll views, making animations responsive to screen height, fixing icon colors, updating ImportOptionCard default layout to vertical, and improving text scaling support for accessibility. The header visibility is now properly hidden during account creation loading states instead of just hiding the back button.

Changes

File Summary
apps/react-native/src/navigation/AppNavigator.tsx Changed headerShown from false to showing the header with a translated title using t('onboarding.notificationPreferences.headerTitle').
packages/icons/src/react-native/UploadCloud.generated.tsx Changed hardcoded stroke color #00EF8B to use the color prop, allowing the icon color to be customized.
packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx Changed from hiding only the back button (headerLeft: () => null) to hiding the entire header (headerShown: false) during account creation loading state.
packages/screens/src/onboarding/GetStartedScreen.query.tsx Added borderColor="$primary" prop to the outline variant Sign In button for improved visual styling.
packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx Removed useMemo for safe area insets and moved bottom buttons inside the ScrollView. Adjusted spacing, added gap, lineHeight, and maxW constraints to the notification preview image container for better accessibility text scaling support.
packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx Removed ScrollView wrapper and added useWindowDimensions to calculate responsive animation height (Math.min(height * 0.4, 375)). Adjusted spacing and layout to use flex for the animation container with maxHeight constraint.
packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx Moved the bottom Next button inside the ScrollView instead of being fixed. Adjusted description text lineHeight to 16, removed maxW constraint, and changed horizontal padding from $4.5 to $4.
packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx Removed ScrollView wrapper and added responsive animation height using useWindowDimensions. Changed to hide entire header (headerShown: false) during loading state. Adjusted spacing and font size tokens throughout the screen.
packages/screens/src/recovery/ImportOtherMethodsScreen.query.tsx Added layout="horizontal" prop to all ImportOptionCard components (KeyStore, PrivateKey, GoogleDrive, iCloud) to use horizontal layout explicitly.
packages/screens/src/recovery/ImportProfileScreen.query.tsx Added layout="horizontal" prop to the "Another Method" ImportOptionCard component.
packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx Changed title fontSize from $8 to $9 and lineHeight from $9 to 36 for consistent styling.
packages/ui/src/components/onboarding/ImportOptionCard.tsx Changed default layout from 'horizontal' to 'vertical'. Refactored vertical layout with repositioned chevron, adjusted badge sizing (minW="$7", height="$7"), and updated padding. Simplified horizontal layout by moving props directly to ListItem instead of nested View.
packages/ui/src/components/onboarding/OnboardingHeader.tsx Changed title lineHeight from $12 to 48 and removed px="$4". Changed subtitle lineHeight from $5 to 17.
packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx Removed fixed height on container and option buttons, replaced with py padding. Added items="center" to options row, and added numberOfLines={1} with adjustsFontSizeToFit to option text for accessibility support.

autogenerated by presubmit.ai

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 6, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Snapshot Warnings

⚠️: No snapshots were found for the head SHA 16b591a.
Ensure that dependencies are being submitted on PR branches and consider enabling retry-on-snapshot-warnings. See the documentation for more information and troubleshooting advice.

Scanned Files

None

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)

Closes #111

Files Processed (1)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
Actionable Comments (0)
Skipped Comments (0)

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)

Closes #111

Files Processed (1)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
Actionable Comments (0)
Skipped Comments (2)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx [31-36]

    maintainability: "Hardcoded line height values instead of design tokens."

  • packages/ui/src/components/onboarding/OnboardingHeader.tsx [31-31]

    possible issue: "Horizontal padding removed from title text."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)

Closes #111

Files Processed (2)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (3)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [56-56]

    maintainability: "Inconsistent styling approach mixing inline styles with Tamagui props."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [182-182]

    maintainability: "Inconsistent styling approach mixing inline styles with Tamagui props."

  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [27-27]

    maintainability: "Magic number used for max animation height."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (2)

Closes #111

Closes #111

Files Processed (5)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (3 hunks)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (3)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [56-56]

    maintainability: "Inconsistent styling approach mixing inline styles with Tamagui props."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [182-182]

    maintainability: "Inconsistent styling approach mixing inline styles with Tamagui props."

  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [27-27]

    maintainability: "Magic number used for maximum animation height."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (1)

Closes #111

Files Processed (3)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (4 hunks)
Actionable Comments (0)
Skipped Comments (1)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx [198-198]

    possible issue: "Line height may be too small relative to font size."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🚨 Pull request needs attention.

Review Summary

Commits Considered (1)

Closes #111

Files Processed (3)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
Actionable Comments (1)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx [238-239]

    possible bug: "Verify JSX closing tags are properly balanced."

Skipped Comments (1)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [170-231]

    possible issue: "Removing ScrollView may cause content overflow on smaller screens."

Comment on lines 238 to +239
</YStack>

{/* Maybe later button - Ghost style, centered like secure enclave profile */}
<XStack justify="center" pb="$8">
<Button variant="ghost" onPress={handleMaybeLater}>
<Text fontSize="$4" fontWeight="600" color="$textSecondary">
{t('onboarding.notificationPreferences.maybeLater')}
</Text>
</Button>
</XStack>
</YStack>
</ScrollView>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There appears to be a missing closing tag for </ScrollView>. The ScrollView is opened at line 186 but the closing tag structure seems incomplete based on the diff. Verify that the JSX structure is properly balanced.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I have manually checked this comment, it is not valid

@lealobanov lealobanov requested review from jaymengxy and lmcmz February 9, 2026 07:19
@lealobanov lealobanov force-pushed the 111-onboarding-ui-feedback branch from ec89927 to c441d59 Compare February 9, 2026 07:20
@lealobanov lealobanov changed the title fix: adjust GetStartedScreen ui feedback fix: adjust Onboarding screens ui feedback - part 1 Feb 9, 2026
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (7)

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (11)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (4 hunks)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (4)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [56-57]

    maintainability: "Inconsistent use of magic number for max height constraint."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [182-183]

    maintainability: "Inconsistent use of magic number for max height constraint."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [50-51]

    possible bug: "Navigation options are not restored when loading state ends."

  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx [107-108]

    possible bug: "Navigation options are not restored when account creation ends."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (9)
  • 6c6173b: fix: recovery options ui

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (14)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/icons/src/react-native/UploadCloud.generated.tsx (1 hunk)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportOtherMethodsScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (4 hunks)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/ImportOptionCard.tsx (4 hunks)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (3)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [56-57]

    maintainability: "Inconsistent use of magic number for max height constraint."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [182-183]

    maintainability: "Duplicated magic number for animation container max height."

  • packages/ui/src/components/onboarding/ImportOptionCard.tsx [90-98]

    possible issue: "Missing gap between icon and text in vertical layout."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (9)
  • 8fbfd62: fix: recovery options ui

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (14)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/icons/src/react-native/UploadCloud.generated.tsx (1 hunk)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportOtherMethodsScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (4 hunks)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/ImportOptionCard.tsx (4 hunks)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (4)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [56-57]

    possible issue: "Inconsistent height calculation between container and animation."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [182-183]

    possible issue: "Inconsistent height calculation between container and animation."

  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [26-27]

    maintainability: "Magic numbers could be extracted to named constants."

  • packages/ui/src/components/onboarding/ImportOptionCard.tsx [90-98]

    maintainability: "Inconsistent lineHeight values between vertical and horizontal layouts."

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (9)
  • 55effb4: fix: recovery options ui

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (0)
Actionable Comments (0)
Skipped Comments (0)

Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

LGTM!

Review Summary

Commits Considered (9)
  • fbaad14: fix: recovery options ui

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (14)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/icons/src/react-native/UploadCloud.generated.tsx (1 hunk)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportOtherMethodsScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (4 hunks)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/ImportOptionCard.tsx (4 hunks)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (0)
Skipped Comments (4)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [38-88]

    possible issue: "Removing ScrollView may cause content overflow on small screens."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [170-231]

    possible issue: "Removing ScrollView may cause content overflow on small screens."

  • packages/ui/src/components/onboarding/ImportOptionCard.tsx [32-32]

    possible bug: "Default layout change may break existing component usages."

  • packages/screens/src/recovery/ImportProfileScreen.query.tsx [134-138]

    possible issue: "Subtitle removed from import option card."

@lealobanov lealobanov force-pushed the 111-onboarding-ui-feedback branch from fbaad14 to 16b591a Compare March 25, 2026 12:00
Copy link
Copy Markdown

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

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

🚨 Pull request needs attention.

Review Summary

Commits Considered (9)
  • 16b591a: fix: recovery options ui

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Closes #111

Files Processed (14)
  • apps/react-native/src/navigation/AppNavigator.tsx (1 hunk)
  • packages/icons/src/react-native/UploadCloud.generated.tsx (1 hunk)
  • packages/screens/src/onboarding/ConfirmRecoveryPhraseScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/GetStartedScreen.query.tsx (1 hunk)
  • packages/screens/src/onboarding/NotificationPreferencesScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/RecoveryPhraseScreen.query.tsx (3 hunks)
  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportOtherMethodsScreen.query.tsx (4 hunks)
  • packages/screens/src/recovery/ImportProfileScreen.query.tsx (1 hunk)
  • packages/ui/src/components/onboarding/AccountCreationLoadingState.tsx (1 hunk)
  • packages/ui/src/components/onboarding/ImportOptionCard.tsx (4 hunks)
  • packages/ui/src/components/onboarding/OnboardingHeader.tsx (1 hunk)
  • packages/ui/src/components/onboarding/RecoveryPhraseQuestion.tsx (3 hunks)
Actionable Comments (1)
  • packages/ui/src/components/onboarding/ImportOptionCard.tsx [32-32]

    possible bug: "Default layout change may break existing component usages."

Skipped Comments (4)
  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [26-27]

    performance: "Consider memoizing the calculated animation height."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [37-38]

    performance: "Consider memoizing the calculated animation height."

  • packages/screens/src/onboarding/SecureEnclaveScreen.query.tsx [170-231]

    possible issue: "Removed ScrollView may cause content overflow on smaller screens."

  • packages/screens/src/onboarding/ProfileTypeSelectionScreen.query.tsx [38-88]

    possible issue: "Removed ScrollView may cause content overflow on smaller screens."

subtitle,
badge,
layout = 'horizontal',
layout = 'vertical',
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Changing the default layout from 'horizontal' to 'vertical' is a breaking change that could affect existing usages of ImportOptionCard that rely on the previous default. Ensure all existing usages have been updated or explicitly pass the layout prop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant