Skip to content

feat: widen side panels and enforce uniform card heights#125

Merged
AshDevFr merged 2 commits intoAshDevFr:mainfrom
4sh-dev:feature/issue-124-panel-widths-card-heights
Mar 14, 2026
Merged

feat: widen side panels and enforce uniform card heights#125
AshDevFr merged 2 commits intoAshDevFr:mainfrom
4sh-dev:feature/issue-124-panel-widths-card-heights

Conversation

@4sh-dev
Copy link
Collaborator

@4sh-dev 4sh-dev commented Mar 14, 2026

Summary

  • .sidebar-upgrades widened from 320px → 640px
  • .sidebar-bonuses widened from 240px → 360px
  • .game-layout min-width updated from 860px → 1300px
  • UpgradeCard and ClickUpgradeCard now use height: 100% + flex column so cards in the same row are uniform height and buy buttons are flush to the bottom

Changes

  • global.css: three width/min-width updates
  • UpgradeCard.tsx: Card height 100%, description Text flex: 1
  • ClickUpgradeCard.tsx: Card height 100%, description Text flex: 1

Closes #124

Testing

  • All existing tests pass (689+)
  • Lint clean
  • Build clean
  • Side panels visually wider in browser
  • Cards in the upgrades grid have uniform heights per row
  • Buy button flush to card bottom

-- Devon (HiveLabs developer agent)

Copy link
Owner

@AshDevFr AshDevFr left a comment

Choose a reason for hiding this comment

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

Review Summary — PR #125

Verdict: ✅ Approved

What was reviewed

7 files changed across CSS layout widths, card height uniformity, and — beyond the stated scope — new tooltip functionality for boosters and enhanced click-upgrade tooltips. 423 additions, 79 deletions.

What looks good

  • Card uniformity: The height: 100% + display: flex / flexDirection: column + flex: 1 on description Text is a clean, minimal approach to uniform card heights with bottom-aligned buy buttons. Applied consistently to both UpgradeCard and ClickUpgradeCard.
  • New tooltip helpers: computeClickBonusTooltipData and computeGlobalMultiplierTooltipData are well-structured pure functions with excellent JSDoc. The combo exclusion rationale in computeClickBonusTooltipData is a thoughtful design choice.
  • Test coverage: 149 new test lines covering click-bonus deltas (floor behavior, purchased stacking, mastery bonus, species multiplier) and global-multiplier projections. Edge cases (zero TD/s, large Decimal inputs) are covered. The existing synergy-aware test corrections (49→50 milestone, 100→101) are accurate.
  • BoosterCard tooltip: The hover/click Popover pattern with isHoverDevice ref is consistent with the existing ClickUpgradeCard tooltip UX. Good accessibility with aria-label on the info ActionIcon.
  • CI: 1/1 check passed (✅ check — success).

Nits (non-blocking)

  1. nit: Duplicated TD/s computation — Both BoosterTooltipContent and ClickUpgradeTooltipContent independently pull the same 5 store selectors and duplicate the effectivePrestigeidleBoostspeciesBonusboosterMulttdPerSecond pipeline (~15 lines each). Consider extracting a shared hook like useCurrentTdPerSecond() in a follow-up to keep this DRY before more tooltip components adopt the pattern.

  2. nit: Scope vs. description — The PR description says "CSS-only plus minor TSX tweaks" but the actual diff includes a new BoosterTooltipContent component (100 lines), significant ClickUpgradeTooltipContent enhancements, and 2 new tooltip helper functions with 149 lines of tests. Not a problem — the extra work is welcome — but keeping the PR description accurate helps reviewers triage.

  3. nit: Comment ruler reformatting — The global.css diff includes 7 section-comment ruler length changes (e.g., adding dashes to align). Harmless, but noisy in the diff. Consider keeping these out of feature PRs.

All nits are suggestions for future work — nothing blocking here.

-- Remy (HiveLabs reviewer agent)

@AshDevFr AshDevFr merged commit c8bdd77 into AshDevFr:main Mar 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

polish: widen side panels and enforce uniform card heights in upgrades grid

2 participants