Skip to content

feat: landing page style update#5581

Open
cuzz-venus wants to merge 10 commits into
mainfrom
feat/landing-page
Open

feat: landing page style update#5581
cuzz-venus wants to merge 10 commits into
mainfrom
feat/landing-page

Conversation

@cuzz-venus
Copy link
Copy Markdown
Contributor

@cuzz-venus cuzz-venus commented May 8, 2026

Jira ticket(s)

VPD-1145

Changes

Landing — Hero

  • Moved primary Start now CTA from inside the Highest APY card to below the Venus TVL number, linking
    to Venus Core Market (sized to Figma: py-2 px-20).
  • Highest APY card now hidden below xl (1280px); desktop only.

NavBar — Markets / Others menus

  • Desktop: Markets / Others now open on hover (added an opt-in triggerOnHover prop to the shared
    Dropdown; other consumers unchanged).
  • Mobile hamburger: Markets is expanded by default (new defaultOpenOnMobile flag on SubMenu, set
    only on Markets).

Markets page

  • Header subtitle hidden on mobile.
  • Mobile Sort by select hidden — added disableCardsSorting to MarketTable, which derives a
    cardColumns array with sortRows stripped. TableCards then computes empty options and skips the
    select. Desktop column sorting and the other 4 MarketTable callers are unaffected.

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 8, 2026

🦋 Changeset detected

Latest commit: b7cb29c

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@venusprotocol/evm Minor

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dapp-preview Ready Ready Preview May 12, 2026 9:00am
dapp-testnet Ready Ready Preview May 12, 2026 9:00am
venus.io Ready Ready Preview May 12, 2026 9:00am

Request Review

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 8, 2026

Greptile Summary

This PR delivers a visual refresh of the landing page, navbar, and markets page: the "Start now" CTA moves below the Venus TVL figure on the hero, the Highest APY card is hidden below xl, navbar dropdowns open on hover at desktop widths, and the mobile Markets card sort select is suppressed.

  • Landing hero: TabContent is simplified (removes per-tab CTA and poolComptrollerContractAddress); the shared CTA now lives in Hero pointing to useGetMarketsPagePath.
  • Navbar: triggerOnHover added to Dropdown, defaultOpenOnMobile added to SubMenu so Markets opens by default in the mobile hamburger.
  • Markets / MarketTable: disableCardsSorting strips sortRows from card columns so TableCards produces an empty options list and skips the Sort-by Select.

Confidence Score: 5/5

Safe to merge — changes are scoped to UI layout, a new optional dropdown prop, and a table card-sorting guard; no data-flow or contract logic is altered.

All changed paths are presentational. The disableCardsSorting path is correctly wired through useMemo and the TableCards guard. The triggerOnHover hover-open logic is isolated behind the new prop with no effect on existing consumers. The only findings are a missing useMemo on a small derived array and a raw hex colour — neither affects runtime correctness.

No files require special attention.

Important Files Changed

Filename Overview
apps/evm/src/pages/Landing/Hero/HeroTabs/TabContent/Earnings/BarChart/index.tsx Adds per-bar fill coloring by embedding fill in data entries; styledData is recomputed on every render without useMemo. Also still uses raw hex #181D27 for bar fill color.
apps/evm/src/components/Dropdown/index.tsx Adds triggerOnHover prop — hover open/close via onMouseEnter/onMouseLeave; backdrop removed in hover mode. Previously flagged mobile modal concern remains.
apps/evm/src/containers/Layout/NavBar/MenuItem/index.tsx Switches XL dropdown to hover trigger and initialises mobile submenu open state from defaultOpenOnMobile. Removes the XL backdrop (no longer needed). Clean change.
apps/evm/src/containers/MarketTable/index.tsx Adds disableCardsSorting prop that strips sortRows from card columns, correctly causing TableCards to omit the Sort-by select. Memoised correctly.
apps/evm/src/pages/Landing/Hero/index.tsx Moves "Start now" CTA to below the TVL number using useGetMarketsPagePath, linking to Venus Core Market. Straightforward layout change.
apps/evm/src/pages/Landing/Hero/HeroTabs/TabContent/index.tsx Removes the per-tab "Start now" button and the poolComptrollerContractAddress prop; simplifies component to APY display only. Clean dead-code removal.
apps/evm/src/pages/Markets/Header/index.tsx Hides the pool description on mobile and fixes a pre-existing typo (text-1brtext-b1r).
apps/evm/src/pages/Markets/Tabs/Markets/index.tsx Adds disableCardsSorting to the Markets table to suppress the mobile Sort-by select. One-line change, correct usage.
apps/evm/src/pages/Landing/Hero/HeroTabs/index.tsx Hides the Highest APY card below xl via hidden xl:flex; removes poolComptrollerContractAddress from TabContent calls. Clean.

Reviews (3): Last reviewed commit: "feat: style update" | Re-trigger Greptile

Comment on lines +95 to 108
{({ isDropdownOpened }) => (
<button
className={cn(
sharedContainerClassName,
'flex items-center justify-between cursor-pointer xl:gap-x-2',
isDropdownOpened && 'xl:text-white xl:bg-dark-blue-active',
)}
type="button"
onClick={handleToggleDropdown}
>
<span>{item.label}</span>

<Icon name="chevronDown" className={cn('size-3', isSubMenuOpen && 'rotate-180')} />
<Icon name="chevronDown" className={cn('size-3', isDropdownOpened && 'rotate-180')} />
</button>
)}
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Keyboard-inaccessible dropdown trigger

The button inside the XL-and-up Dropdown no longer has an onClick handler. Keyboard users who Tab to this element and press Enter or Space receive no response because the only interaction path is onMouseEnter/onMouseLeave on the outer wrapper. Any user navigating the site via keyboard cannot open the Markets (or similar) sub-menu at the xl breakpoint.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I think keyboard-only desktop users (≥ 1280px, no mouse, no touchscreen) don't exist in DeFi 😢 — wallet flows are inherently mouse/touch driven, so this regression isn't worth fixing.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

That's a reasonable product call for your specific user base. A few counterpoints worth considering:

  1. Power users and developers frequently navigate via keyboard even in DeFi — they're a small but vocal cohort.
  2. Screen reader users (who do exist in DeFi) rely on keyboard navigation, and this breaks their flow on the nav menus.
  3. WCAG compliance — depending on jurisdiction, accessibility requirements can carry legal weight even for financial dApps.

That said, if it's a deliberate tradeoff you're comfortable with, fair enough.

Tip: You can give me more context with .greptile/rules.md so I get this right next time.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 9, 2026

Coverage Report for ./apps/evm

Status Category Percentage Covered / Total
🔵 Lines 81.12% 45290 / 55829
🔵 Statements 81.12% 45290 / 55829
🔵 Functions 62.15% 647 / 1041
🔵 Branches 72.27% 5105 / 7063
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
apps/evm/src/components/Dropdown/index.tsx 70.27% 41.66% 0% 70.27% 49-51, 59-81
apps/evm/src/containers/Layout/NavBar/MenuItem/index.tsx 0% 0% 0% 0% 1-127
apps/evm/src/containers/Layout/NavBar/useMenuItems/index.tsx 0% 0% 0% 0% 1-121
apps/evm/src/containers/MarketTable/index.tsx 92.14% 73.68% 66.66% 92.14% 106-114, 215, 246-250
apps/evm/src/pages/Landing/Hero/index.tsx 100% 0% 100% 100%
apps/evm/src/pages/Landing/Hero/HeroTabs/index.tsx 100% 86.66% 100% 100%
apps/evm/src/pages/Landing/Hero/HeroTabs/TabContent/index.tsx 100% 87.5% 100% 100%
apps/evm/src/pages/Landing/Hero/HeroTabs/TabContent/Earnings/BarChart/index.tsx 74.71% 75% 0% 74.71% 66-70, 83-102
apps/evm/src/pages/Markets/Header/index.tsx 100% 0% 100% 100%
apps/evm/src/pages/Markets/Tabs/Markets/index.tsx 100% 0% 100% 100%
Generated in workflow #13417 for commit b7cb29c by the Vitest Coverage Report Action

@cuzz-venus
Copy link
Copy Markdown
Contributor Author

@greptile review again

@cuzz-venus cuzz-venus marked this pull request as ready for review May 12, 2026 09:07
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 12, 2026

Want your agent to iterate on Greptile's feedback? Try greploops.

@cuzz-venus cuzz-venus requested a review from therealemjy May 14, 2026 11:32
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