-
Notifications
You must be signed in to change notification settings - Fork 849
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
PM-15147 - Design Audit - Master Password Guidance Screen #4383
PM-15147 - Design Audit - Master Password Guidance Screen #4383
Conversation
New Issues
Fixed Issues
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4383 +/- ##
==========================================
- Coverage 89.01% 89.01% -0.01%
==========================================
Files 451 451
Lines 39123 39129 +6
Branches 5532 5533 +1
==========================================
+ Hits 34827 34832 +5
Misses 2368 2368
- Partials 1928 1929 +1 ☔ View full report in Codecov by Sentry. |
contentDescription = stringResource(id = R.string.close), | ||
onClick = onDismissClick, | ||
) | ||
onDismissClick?.let { |
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.
👍
@Preview | ||
@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) | ||
@Composable | ||
private fun BitwardenActionCardWithSubtitleNoDismiss_preview() { |
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.
👍 👍
.fillMaxWidth() | ||
.padding(horizontal = 16.dp), | ||
) | ||
Spacer(modifier = Modifier.height(24.dp)) |
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.
⛏️ maybe minor thing, curious what others thoughts are with this, maybe we can just remove the wrapping Column
s and have it so at the call site its like
Column {
ContentItem1()
Spacer()
ContentItem2()
etc.
}
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.
yeah i like this idea better, ill make the change!
cardTitle = stringResource(R.string.need_some_inspiration), | ||
actionText = stringResource(R.string.check_out_the_passphrase_generator), | ||
onActionClick = onActionClicked, | ||
modifier = modifier |
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.
⛏️ this is Okay as is, but could also just be same line.
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.
ah okay, yeah one liner looks more "in-line" zing
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.
Just some style nits, but otherwise looks GR8
@@ -81,126 +78,134 @@ fun MasterPasswordGuidanceScreen( | |||
) | |||
}, | |||
) { | |||
Column( | |||
MasterPasswordGuidanceContent( |
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.
Is the LongMethod
suppression above still needed?
) | ||
Spacer(modifier = Modifier.navigationBarsPadding()) | ||
} | ||
viewModel = viewModel, |
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.
Don't pass the whole VM into the content, just pass in the state and any lambdas needed.
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.
okay sounds good! Just curious, is there a downside to passing in the viewModel
or just a style thing?
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.
actually after implementing the change it became much clearer to me why this is a better approach. Thanks!
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 can also help with previews and individual composable tests (even if we rarely do those)
@@ -44,7 +44,7 @@ fun BitwardenActionCard( | |||
cardTitle: String, | |||
actionText: String, | |||
onActionClick: () -> Unit, | |||
onDismissClick: () -> Unit, | |||
onDismissClick: (() -> Unit)? = null, |
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.
Can we move this below the modifier, the pattern is that the modifier is always the first param with a default value
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.
) | ||
Spacer(modifier = Modifier.navigationBarsPadding()) | ||
} | ||
onTryPasswordGeneratorAction = { |
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.
Be sure to remeber
the viewModel
modifier: Modifier = Modifier, | ||
onTryPasswordGeneratorAction: () -> Unit, |
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.
This should be before the modifier.
🎟️ Tracking
PM-15147
📔 Objective
BitwardenActionCard
to include an optional dismiss action, supporting scenarios like the MasterPasswordGuidanceScreen where no dismiss action is required.📸 Screenshots
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:
) or similar for great changes:memo:
) or ℹ️ (:information_source:
) for notes or general info:question:
) for questions:thinking:
) or 💭 (:thought_balloon:
) for more open inquiry that's not quite a confirmedissue and could potentially benefit from discussion
:art:
) for suggestions / improvements:x:
) or:warning:
) for more significant problems or concerns needing attention:seedling:
) or ♻️ (:recycle:
) for future improvements or indications of technical debt:pick:
) for minor or nitpick changes