refactor(ui): extract shared action-button icon constants (CashPilot-cyc)#124
Conversation
…cyc) renderServiceRow duplicated the restart/stop/logs SVGs verbatim between the single-instance row and each per-node sub-row (6 copies). Extract them to ICON_RESTART/ICON_STOP/ICON_LOGS consts. Truly byte-identical: verified by a DOM golden-master (render the multi-instance row + expanded sub-rows before and after — the container innerHTML is identical to the byte) plus node --check and the Playwright harness (row + all action buttons render, 0 console/page errors). First safe step of the cyc builder componentization; the env-field/worker-checkbox helpers follow (each golden-master verified against the wizard/detail views).
|
@coderabbitai review |
|
Warning Review limit reached
Next review available in: 42 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
✅ Action performedReview finished.
|
First safe step of the
cycbuilder componentization, now that browser verification is unblocked.What
renderServiceRowduplicated the restart/stop/logs SVG icons verbatim — 6 copies (3 icons × single-instance row + per-node sub-row). Extracted toICON_RESTART/ICON_STOP/ICON_LOGSmodule consts.Why it's provably safe
Per the migration review, "byte-identical" is only guaranteed at the DOM level. Verified three ways:
innerHTMLbefore and after: byte-identical (10346 bytes, zero diff).node --checkclean; theCPexport surface is unchanged.Scope
Just the icon consts (the truly-identical, single-line strings — zero indentation risk). The env-field / worker-checkbox helpers (which live in the wizard + detail views and differ by indentation/class) follow as separate golden-master-verified PRs, ahead of the
guwCSP work.Part of bead CashPilot-cyc.