-
Notifications
You must be signed in to change notification settings - Fork 88
Enter seed phrase component refactored according to new design #19004
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Jenkins BuildsClick to see older builds (139)
|
fed3537
to
5e95d3e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM overall, with some minor things
5e95d3e
to
2b2263e
Compare
i will work on tests to fix them ,just ping me whenever the latest commit is please |
0383937
to
c618d05
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work! Just nitpicks from my side. Didn't test it though. I see Nastya has it covered
The only thing that might be worth updating from my point of view is the way we're using callbacks in a signal.
But since it's a very specific component we can live with it for sure! Feel free to ignore.
c618d05
to
c1e334d
Compare
13e4003
to
0ee1ddd
Compare
0ec927d
to
64c225b
Compare
64c225b
to
3384a45
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice component cleanup! Also the new design looks good!!
I just left minor comments and to add some improvement.. When switching from 12 to 18 or to 24, the focus always changes to the first text field, losing the current text field you were using. It can be of course a separate task and nice to have one :)
Good job!
readonly property var lengths: [12, 18, 24] | ||
readonly property int selectedLength: { | ||
if (v12.checked) | ||
return 12 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor: Maybe you could use constants instead everywhere here for 12, 18 and 14
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As it's local thing I would just keep as it is. Those constants would have those number in its name as well...
property string filteringPrefix | ||
|
||
readonly property int twoColsThreshold: 450 | ||
readonly property int oneColThreshold: 400 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use here Theme.portraitBreakpoint
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not applicable there. Ideally design team should provide some more curated values for that later.
onWordSelected: word => { | ||
inputModel.setEntry(d.currentIndex, word, true) | ||
|
||
// don't loos focust on the list entry, close suggestions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Spelling: lose focus
} | ||
|
||
onSeedphraseUpdated: function(valid, seedphrase) { | ||
onSeedphraseProvided: seedPhrase => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to have this validation inside the component?? Why the instantiator has the ability to change that?? 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basically the EnterSeedPhrase
provides basic validation by checking if provided words are in a dictionary. On top user can do arbitrary validation and set arbitrary error message, specific to given use case. It makes the component more generic and OCP principle compliant.
What does the PR do
BIP39_en
dictionary component removed from storeEnterSeedPhrase
component with a new versionFigma: https://www.figma.com/design/SGyfSjxs5EbzimHDXTlj8B/Qt-Responsive---v?node-id=2423-40310&t=mAqENLAZjVmyQM
Closes: #18834
Affected areas
Onboarding
Architecture compliance
My PR is consistent with this document: QML Architecture Guidelines
Screencapture of the functionality
Screencast.from.15.10.2025.00.52.30.webm
Record_2025-10-15-10-37-23.mp4
Impact on end user
High
How to test
Run onboarding flows involving seed phrase
Risk