[WOOMOB-3477] Migrate Dashboard header and Customize action#16261
[WOOMOB-3477] Migrate Dashboard header and Customize action#16261hichamboushaba wants to merge 2 commits into
Conversation
Generated by 🚫 Danger |
|
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## issue/woomob-3477-dashboard-design-system #16261 +/- ##
===============================================================================
- Coverage 40.91% 40.89% -0.03%
- Complexity 13503 13512 +9
===============================================================================
Files 2508 2509 +1
Lines 147397 147511 +114
Branches 21972 21997 +25
===============================================================================
+ Hits 60311 60324 +13
- Misses 80980 81078 +98
- Partials 6106 6109 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
5d0e6cd to
6a818ed
Compare
aae527f to
b1a6551
Compare
There was a problem hiding this comment.
AI Code Review - No issues found. The changes look good.
This migrates the Dashboard header, Customize action, and Share Store action from the XML toolbar/menu into a collapsible Compose WooPageHeader, bridging scroll state across the two separate ComposeView roots via DashboardHeaderScrollBridge. A few things I verified:
- Removing the
getFragmentSubtitle()override is safe —BaseFragmentprovides a default returning"". - Deleting
menu_dashboard_fragment.xmlis safe: the only shared id (menu_share_store) still exists independently inmenu_my_store_fragment.xml, and both menu actions are now handled in Compose. - The scroll bridge uses a global
mutableStateOf, so the body ComposeView recomposes to pick up the header'snestedScrollConnectiononce the header attaches — no cross-root timing gap. WooButton's newtextMaxLineskeeps the prior default (Int.MAX_VALUE,Clip,softWrap), so existing buttons are unaffected.- The "new sections" indicator dot uses
Alignment.TopStart, which is layout-direction-aware, so RTL placement is handled correctly. - Good accessibility handling: the dot is hidden with
clearAndSetSemantics, and the state is surfaced viastateDescriptionon the button. Unit tests cover the bridge's attach/detach and scroll ordering.
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.
b1a6551 to
b2d4976
Compare
|
@claude re-review |

Description
Part of WOOMOB-3477
Note
This is the second part of WOOMOB-3477 and does not close the ticket. A follow-up PR will migrate the full Dashboard screen to Compose and close the ticket.
This is a stacked PR targeting
issue/woomob-3477-dashboard-design-system. It depends on #16248 and should remain a draft until the parent PR lands.Note
When JITM is hidden, its existing XML host still reserves 8dp between the page header and Dashboard content. This pre-existing View/Fragment spacing is intentionally deferred to the full-Compose follow-up, where spacing will be applied only when JITM displays visible banner content.
This follow-up completes the Dashboard shell migration by replacing the Activity-owned toolbar and menu with a Compose
WooPageHeader. The header uses the current store name as its title, preserves the conditional Share Store action, collapses with Dashboard scrolling, and expands after reselecting My Store.It also moves Customize below the complete dashboard grid, preserving the existing edit-widgets flow and analytics. When new sections are available, the button shows a design-system indicator and exposes a localized state description to TalkBack. The supporting tonal-button API keeps its existing default behavior while allowing this label to remain on one line.
The legacy Dashboard menu, toolbar badge, and expanded-toolbar wiring are removed. The parent PR already includes the Dashboard design-system release note, so this stack does not add a duplicate entry.
Test Steps
Images/gif
RELEASE-NOTES.txtif necessary. Use the "[Internal]" label for non-user-facing changes.