-
Couldn't load subscription status.
- Fork 1.3k
CMM-884 support iteration over the whole flow and style #22310
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
base: trunk
Are you sure you want to change the base?
CMM-884 support iteration over the whole flow and style #22310
Conversation
…/github.com/wordpress-mobile/WordPress-Android into feat/CMM-843-Create-the-Ask-the-HE-entry-UI
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 generally looking better – a couple of notes:
- The "New Ticket" selector has too many colours – we should probably just have the outline and then the inner highlight should be the same colour with 1/2 to 1/3rd of the saturation.
- Both conversation types should parse and display markdown as rich text. No need to support composing rich text yet.
…-flow-and-style # Conflicts: # WordPress/src/main/java/org/wordpress/android/support/aibot/ui/AIBotConversationsListScreen.kt # WordPress/src/main/java/org/wordpress/android/support/common/ui/EmptyConversationsView.kt # WordPress/src/main/java/org/wordpress/android/support/he/ui/HEConversationsListScreen.kt # WordPress/src/main/java/org/wordpress/android/support/he/ui/HENewTicketScreen.kt # WordPress/src/main/java/org/wordpress/android/support/he/ui/TicketMainContentView.kt # WordPress/src/main/res/values/strings.xml
|
Claude finished @adalpari's task —— View job Code Review for PR #22310I've completed a comprehensive review of this PR. Here are my findings across multiple dimensions: OverviewThis PR implements a significant UI overhaul for the support flow, introducing Compose-based screens and markdown rendering capabilities. The changes span 11 files with 808 additions and 427 deletions. Key Findings1. Code Quality & Architecture✅ Strengths
|
| * Convert markdown text to Compose AnnotatedString. | ||
| * Supports basic markdown formatting: bold, italic, bold+italic, and inline code. | ||
| */ | ||
| fun markdownToAnnotatedString(markdownText: String): AnnotatedString = buildAnnotatedString { |
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.
Missing Documentation: This function needs KDoc explaining:
- Supported markdown syntax (bold, italic, bold+italic, inline code)
- Known limitations (no nesting, no character escaping, no block-level elements)
- Security considerations (should only be used with trusted content)
- Example usage
Also consider:
- Adding a max length parameter to prevent performance issues with very long strings
- Handling escaped characters (e.g.,
\*not italic\*) - Adding input validation/sanitization if this will be used with user-generated content
| colors = CardDefaults.cardColors( | ||
| containerColor = MaterialTheme.colorScheme.surface | ||
| ), | ||
| border = BorderStroke( |
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.
Per reviewer feedback from @jkmassel: The "New Ticket" selector has too many colors. The border and icon colors should use a more subtle color scheme.
Suggestion: When selected, use the primary color with reduced saturation (e.g., primary.copy(alpha = 0.3f)) for the inner highlight to maintain visual hierarchy without overwhelming the user with multiple bold colors.
| border = BorderStroke( | |
| border = BorderStroke( | |
| width = if (isSelected) 2.dp else 1.dp, | |
| color = if (isSelected) { | |
| MaterialTheme.colorScheme.primary.copy(alpha = 0.3f) | |
| } else { | |
| MaterialTheme.colorScheme.outline.copy(alpha = 0.5f) | |
| } | |
| ), |
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.
I did achieve it, but finally didn't use alpha. I opted to use "selected/unselected" status. So it looks very clear) and imo clean) from the user perspective.
WordPress/src/main/java/org/wordpress/android/support/common/ui/EmptyConversationsView.kt
Outdated
Show resolved
Hide resolved
|
Critical 😅 ?
|
|
@jkmassel I think the PR is now ready to review it :) |
|
I refined the markdown parsing (finally used a well-known library), and this is how it looks:
|
|
Project dependencies changeslist+ New Dependencies
org.commonmark:commonmark:0.24.0tree+\--- org.commonmark:commonmark:0.24.0 |




Description
This PR main purpose is to make the whole new Support UI look more AndroidMaterial3 looking.
In addition, some side improvements have been made around the code and the logic. And markdown messages are now supported.
Testing instructions
Screen_recording_20251027_114907.mp4