feat: hardware wallets settings screen#612
Draft
jvsena42 wants to merge 7 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #589
This PR adds a Hardware Wallets settings screen for viewing and managing paired devices, reachable from Settings ▸ General ▸ Payments.
Description
This is the iOS port of synonymdev/bitkit-android#1032. iOS already had the watch-only data layer and shared components (
HwWalletManager, the connection badge, the device illustrations, and the hardware intro sheet), so this PR is mainly the settings row, the new list screen, and the rename sheet, laid out to match the Figma frames. Renaming adds a persistedcustomLabelto the stored device that takes priority when resolving the display name.Linked Issues/Tasks
Screenshot / Video
QA Notes
OBS: Only tested with emulator
Manual Tests
regression:Home hardware tile still shows the green/gray connection glyph (shared icon unchanged).Automated Checks
xcodebuild -workspace Bitkit.xcodeproj/project.xcworkspace -scheme Bitkit -configuration Debug -destination 'platform=iOS Simulator,id=<iPhone 16>' ONLY_ACTIVE_ARCH=YES build(concrete simulator UDID +ONLY_ACTIVE_ARCH=YESbecause the Rust xcframeworks are arm64-only).node scripts/validate-translations.js: 0 errors (run withglobresolved locally, since this checkout has nopackage.json).BitkitTests/HwWalletNameTestsnow asserts thecustomLabeloverride inresolveHwWalletName(custom name wins; empty falls back to label; nil falls back to the prefixed model) — 9 tests pass.HwWalletManager.removeDeviceandTrezorManager.forgetDevice; existingBitkitTests/HwWalletManagerTestsstill cover removal.