[WOOMOB-3739] Add the Product Detail Compose screen (2/3) - #16394
[WOOMOB-3739] Add the Product Detail Compose screen (2/3)#16394hichamboushaba wants to merge 3 commits into
Conversation
Generated by 🚫 Danger |
|
|
3076aa3 to
0571e01
Compare
191f78b to
89ec3b6
Compare
220a0e4 to
8b1bdac
Compare
8b1bdac to
47493da
Compare
There was a problem hiding this comment.
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.mdguidance (Store Management Compose patterns: WooTheme, StateFlow-driven stateless composables, no Android framework leakage). product_rating_content_descriptionhardcodes "out of 5" whileRATING_STAR_COUNTis 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.

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
./gradlew :WooCommerce:assembleWasabiDebug../gradlew :WooCommerce:compileWasabiDebugAndroidTestKotlin../gradlew detektAll.Images/gif
RELEASE-NOTES.txtif necessary. Use the "[Internal]" label for non-user-facing changes.