Skip to content

fix(fox): improve ecosystem icon consistency and header spacing - #12516

Open
Masha-lla wants to merge 3 commits into
shapeshift:developfrom
Masha-lla:codex/fix-fox-ecosystem-layout
Open

fix(fox): improve ecosystem icon consistency and header spacing#12516
Masha-lla wants to merge 3 commits into
shapeshift:developfrom
Masha-lla:codex/fix-fox-ecosystem-layout

Conversation

@Masha-lla

@Masha-lla Masha-lla commented Aug 3, 2026

Copy link
Copy Markdown

Description

  • replace the FOX farming and governance emoji with consistently sized Tabler icons
  • keep the full global search field for 3xl displays and use the compact search action below that breakpoint
  • prevent the global search control from overlapping the Ecosystem navigation item on wide desktop layouts

Issue (if applicable)

N/A

Risk

Low. These changes are isolated to presentational icons on the FOX ecosystem page and the responsive display breakpoint of the existing global search controls.

What protocols, transaction types, wallets or contract interactions might be affected by this PR?

None. No protocol, transaction, wallet, or contract behavior is changed.

Testing

Engineering

  1. Run pnpm run dev:web:localhost.
  2. Open /#/fox-ecosystem.
  3. Verify the Farming and Governance headings use consistent Tabler icons.
  4. At desktop widths below 2200px, verify the compact search icon is shown and does not overlap the Ecosystem navigation item.
  5. At widths of 2200px and above, verify the full global search field is shown.
  6. Confirm the global search modal opens from both search control variants.

Quality gates completed:

  • pnpm run lint --fix (passes with pre-existing warnings only)
  • pnpm run type-check

Operations

  • 🏁 My feature is behind a flag and doesn't require operations testing (yet)

In a preview environment, open the FOX ecosystem page and verify that the Farming and Governance section icons share a consistent visual style. Resize the browser around the 2200px breakpoint and confirm that the search control never covers the Ecosystem navigation item.

Screenshots (if applicable)

N/A

Summary by CodeRabbit

  • Style
    • Improved header responsiveness by showing the full search box at wider screen sizes while retaining the search icon on smaller screens.
    • Replaced farming and governance emoji headings with consistent, accessible visual icons.

@Masha-lla
Masha-lla requested a review from a team as a code owner August 3, 2026 20:59
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@Masha-lla, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 20 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f206897c-fb13-403c-aace-8b99c5584c49

📥 Commits

Reviewing files that changed from the base of the PR and between ba0c3ff and 947b566.

📒 Files selected for processing (3)
  • src/components/Layout/Header/Header.tsx
  • src/pages/Fox/components/FoxFarming.tsx
  • src/pages/Fox/components/FoxGovernance.tsx
📝 Walkthrough

Walkthrough

The header search breakpoint now uses 3xl. Fox farming and governance headings now use accessible Chakra icons instead of emojis.

Changes

UI polish

Layer / File(s) Summary
Header search breakpoint
src/components/Layout/Header/Header.tsx
The full search box appears at 3xl widths. The icon-only search button remains visible below 3xl.
Fox heading icons
src/pages/Fox/components/FoxFarming.tsx, src/pages/Fox/components/FoxGovernance.tsx
The farming heading uses TbPlant2. The governance heading uses TbBuildingBank. Both icons use blue styling and hidden accessibility text.

Estimated code review effort: 2 (Simple) | ~5 minutes

Suggested reviewers: 0xapotheosis, kaladinlight

Poem

A rabbit hops through screens so bright,
Finds plants and banks in blue delight.
The search bar shifts when widths grow,
While tiny icons guide the flow.
“Clean headings!” cheers the hare.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the icon consistency and header layout changes in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
src/components/Layout/Header/Header.tsx (1)

89-94: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Memoize the responsive display objects.

searchBoxDisplay and iconButtonDisplay are recreated on every Header render. Wrap them in useMemo with empty dependency arrays, or move them to stable module-level constants.

Proposed fix
-  const searchBoxDisplay = {
-    base: 'none',
-    '3xl': 'flex',
-  }
+  const searchBoxDisplay = useMemo(
+    () => ({
+      base: 'none',
+      '3xl': 'flex',
+    }),
+    [],
+  )

-  const iconButtonDisplay = {
-    base: 'flex',
-    '3xl': 'none',
-  }
+  const iconButtonDisplay = useMemo(
+    () => ({
+      base: 'flex',
+      '3xl': 'none',
+    }),
+    [],
+  )

As per coding guidelines, TSX object and array creations must use useMemo.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/components/Layout/Header/Header.tsx` around lines 89 - 94, Stabilize the
responsive display objects searchBoxDisplay and iconButtonDisplay in Header by
wrapping each in useMemo with empty dependency arrays, or by moving them to
module-level constants. Preserve their existing display mappings and ensure the
chosen approach avoids recreating these objects on every render.

Source: Coding guidelines

src/pages/Fox/components/FoxFarming.tsx (1)

75-75: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use UPPER_SNAKE_CASE for both module-level icon constants.

  • src/pages/Fox/components/FoxFarming.tsx#L75-L75: rename farmingIcon to FARMING_ICON and update Line 308.
  • src/pages/Fox/components/FoxGovernance.tsx#L56-L56: rename governanceIcon to GOVERNANCE_ICON and update Line 124.

As per coding guidelines, use UPPER_SNAKE_CASE for constants and configuration values.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/pages/Fox/components/FoxFarming.tsx` at line 75, Rename the module-level
icon constants to UPPER_SNAKE_CASE: update farmingIcon to FARMING_ICON in
src/pages/Fox/components/FoxFarming.tsx and its usage at line 308, and update
governanceIcon to GOVERNANCE_ICON in src/pages/Fox/components/FoxGovernance.tsx
and its usage at line 124.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/components/Layout/Header/Header.tsx`:
- Around line 89-94: Stabilize the responsive display objects searchBoxDisplay
and iconButtonDisplay in Header by wrapping each in useMemo with empty
dependency arrays, or by moving them to module-level constants. Preserve their
existing display mappings and ensure the chosen approach avoids recreating these
objects on every render.

In `@src/pages/Fox/components/FoxFarming.tsx`:
- Line 75: Rename the module-level icon constants to UPPER_SNAKE_CASE: update
farmingIcon to FARMING_ICON in src/pages/Fox/components/FoxFarming.tsx and its
usage at line 308, and update governanceIcon to GOVERNANCE_ICON in
src/pages/Fox/components/FoxGovernance.tsx and its usage at line 124.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: a581fb83-a4bf-42d5-99a1-e440e2ffa081

📥 Commits

Reviewing files that changed from the base of the PR and between 6170b71 and ba0c3ff.

📒 Files selected for processing (3)
  • src/components/Layout/Header/Header.tsx
  • src/pages/Fox/components/FoxFarming.tsx
  • src/pages/Fox/components/FoxGovernance.tsx

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.

1 participant