Skip to content

[WOOMOB-3739] Add the Product Detail Compose screen (2/3) - #16394

Open
hichamboushaba wants to merge 3 commits into
issue/woomob-3739-product-detail-prerequisitesfrom
issue/woomob-3739-product-detail-compose-screen
Open

[WOOMOB-3739] Add the Product Detail Compose screen (2/3)#16394
hichamboushaba wants to merge 3 commits into
issue/woomob-3739-product-detail-prerequisitesfrom
issue/woomob-3739-product-detail-compose-screen

Conversation

@hichamboushaba

@hichamboushaba hichamboushaba commented Aug 8, 2026

Copy link
Copy Markdown
Member

Description

Stacked on #16393 — review after it. Part 2 of 3; followed by #16395.

Part of WOOMOB-3739 — does not close the ticket.

This is part 2 of 3 in the Product Detail Compose migration stack. It adds the complete mode-agnostic Product Detail Compose renderer without routing production traffic to it yet.

Add and Edit share immutable row models, image/header states, title editing and restoration, accessibility semantics, previews, and a lazy scrolling body. Navigation, analytics, toolbar/menu, gallery ownership, and Fragment orchestration remain outside the renderer.

The final PR performs the runtime cutover and legacy cleanup.

Test Steps

  1. Inspect the Existing Product and Add Product Compose previews in light and dark themes.
  2. Inspect loading, empty, error, image, long-content, large-font, RTL, and landscape variants.
  3. Run ./gradlew :WooCommerce:assembleWasabiDebug.
  4. Run the AI attribution unit test and ./gradlew :WooCommerce:compileWasabiDebugAndroidTestKotlin.
  5. Run ./gradlew detektAll.

Images/gif

Theme Existing product Add product
Light existing-light add-light
Dark existing-dark add-dark
  • I have considered if this change warrants release notes and have added them to RELEASE-NOTES.txt if necessary. Use the "[Internal]" label for non-user-facing changes.

@dangermattic

dangermattic commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator
1 Error
🚫 This PR is tagged with status: do not merge label(s).
1 Warning
⚠️ This PR is larger than 300 lines of changes. Please consider splitting it into smaller PRs for easier and faster reviews.

Generated by 🚫 Danger

@hichamboushaba hichamboushaba added the type: enhancement A request for an enhancement. label Aug 8, 2026
@hichamboushaba hichamboushaba added this to the 25.5 milestone Aug 8, 2026
@hichamboushaba hichamboushaba added feature: product details Related to adding or editing products, includes product settings. category: design Layout and style elements in the UI or user interface, including color and animations. category: parity Match what's supported by the other platform. category: accessibility Related to accessibility. category: unit tests Related to unit testing. category: ui tests Related to UI testing. compose Uses Jetpack Compose framework labels Aug 8, 2026
@wpmobilebot

wpmobilebot commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

App Icon📲 You can test the changes from this Pull Request in WooCommerce Android by scanning the QR code below to install the corresponding build.

App NameWooCommerce Android
Platform📱 Mobile
FlavorJalapeno
Build TypeDebug
Build Number778
Version25.4-rc-1
Application IDcom.woocommerce.android.prealpha
Commit5f6d215
Installation URL4mc6q2eg2sg8g
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

@hichamboushaba
hichamboushaba force-pushed the issue/woomob-3739-product-detail-compose-screen branch from 3076aa3 to 0571e01 Compare August 9, 2026 12:41
@hichamboushaba
hichamboushaba force-pushed the issue/woomob-3739-product-detail-prerequisites branch from 191f78b to 89ec3b6 Compare August 9, 2026 12:53
@hichamboushaba
hichamboushaba force-pushed the issue/woomob-3739-product-detail-compose-screen branch 2 times, most recently from 220a0e4 to 8b1bdac Compare August 9, 2026 13:26
@hichamboushaba
hichamboushaba force-pushed the issue/woomob-3739-product-detail-compose-screen branch from 8b1bdac to 47493da Compare August 9, 2026 14:46
@hichamboushaba
hichamboushaba marked this pull request as ready for review August 10, 2026 10:33

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

AI Code Review - Found 2 potential issues

Overall this is a clean, well-structured set of Compose primitives for the shared Product Detail screen. State handling in ProductDetailEditableField, the AI-attribution styling, and the divider/indent logic all read well, and the extracted pure helpers plus previews are a nice touch. Two points below; only the first is a possible behaviour bug.

PR housekeeping
  • Applied repo AGENTS.md/CLAUDE.md guidance (Store Management Compose patterns: WooTheme, StateFlow-driven stateless composables, no Android framework leakage).
  • product_rating_content_description hardcodes "out of 5" while RATING_STAR_COUNT is a constant; harmless today, just note the two must stay in sync.

Automatic review · claude-opus-4-8 · Workflow run

How to reply to a finding

Reply on this review (or inline at the line the finding refers to) with one of:

  • @claude addressed - I made the change. Bot verifies against the next diff before marking resolved.
  • @claude rejected: <reason> - Will not fix; reason gets quoted on the next review.
  • @claude not-applicable - Finding does not apply (wrong file, already covered elsewhere, etc.).

The bot honours these on the next review pass.

@hichamboushaba hichamboushaba added the status: do not merge Dependent on another PR, ready for review but not ready for merge. label Aug 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: accessibility Related to accessibility. category: design Layout and style elements in the UI or user interface, including color and animations. category: parity Match what's supported by the other platform. category: ui tests Related to UI testing. category: unit tests Related to unit testing. compose Uses Jetpack Compose framework feature: product details Related to adding or editing products, includes product settings. status: do not merge Dependent on another PR, ready for review but not ready for merge. type: enhancement A request for an enhancement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants