Skip to content

feat: point navbar shop menu at the shop and restore explore label - #463

Merged
juanmahidalgo merged 1 commit into
masterfrom
feat/navbar-shop-urls-and-explore-label
Aug 5, 2026
Merged

feat: point navbar shop menu at the shop and restore explore label#463
juanmahidalgo merged 1 commit into
masterfrom
feat/navbar-shop-urls-and-explore-label

Conversation

@juanmahidalgo

Copy link
Copy Markdown
Contributor

Changes

  • Shop menu now points at the shop (decentraland.org/shop) instead of the legacy marketplace. New SHOP_URL config key added to dev/stg/prod so it resolves per environment (.zone / .today / .org), matching how the other URLs work.
    • Shop All → ${SHOP_URL}
    • Wearables → ${SHOP_URL}/items?category=wearable
    • Emotes → ${SHOP_URL}/items?category=emote
    • Names → ${SHOP_URL}/items?category=names
    • LAND and Merch are unchanged — the shop has no LAND category, so LAND stays on MARKETPLACE_LANDS_URL.
  • Restores the Explore label. fix: rename What's On navbar label to Explore #427 renamed it from "What's On" back in April, but feat: add creator documentation link to navbar create menu #453 reintroduced the old string while adding the creator-documentation link, so the rename was silently undone and shipped in 3.15.0.

The whatsOn key itself is untouched — only the visible label changes, so activePage="whatsOn" and every existing consumer keep working (same approach #427 took).

MARKETPLACE_NAMES_URL is no longer read by the navbar but is kept in the env files: it is public config surface other consumers may rely on.

Notes

The ?category= params match the shop's own filter contract — its /items route reads every filter from the URL, and all | wearable | emote | names are the category keys it accepts. status is omitted because the shop already defaults to on_sale.

Test plan

  • npm run format, npm run lint:fix, npm run lint:package-json, npm run build, npm test (37 passing)
  • Verify each Shop menu entry lands on the right category in a consumer once bumped
  • Confirm the navbar reads Explore in the Storybook navbar stories

@decentraland-bot decentraland-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.

Review Summary

Verdict: ✅ Approve

Clean, focused PR that does exactly two things well:

1. Shop menu re-pointed to /shop

The navbar Shop dropdown now links to the new shop (SHOP_URL) instead of the legacy marketplace. The new SHOP_URL config key is added to all three environment files (dev.json, stg.json, prod.json) following the same domain convention (.zone / .today / .org) used by every other URL in the config system. URL patterns are simpler than before (/items?category=X vs the old /browse?assetType=item&section=X&status=on_sale).

LAND correctly stays on MARKETPLACE_LANDS_URL since the shop has no LAND category — good call, and the inline comment explaining the reasoning is helpful.

2. "Explore" label restored

The whatsOn default string is changed from "What's On" back to "Explore", fixing a regression introduced by #453. The i18n key (whatsOn) and the activePage union value are both preserved, so every existing consumer keeps working without changes.

Checks performed

  • Backward compatibility — Public API (NavbarProps, NavbarI18n, activePage values) is unchanged. Consumers can still override the label via i18n={{ whatsOn: "Custom" }}. No breaking changes.
  • Consumer impact@dcl/ui2 is consumed by downstream dApps (builder, marketplace, etc). The URLs are internal to the component; consumers don't read them directly. MARKETPLACE_NAMES_URL is kept in env files for any other consumers that may rely on it.
  • Type safety — All i18n labels match the NavbarI18n type. MenuConfig and MenuItem structures are consistent.
  • Security — No secrets, no auth changes, no user input in URL construction. All URLs are static first-party domains. No open redirect or XSS vectors.
  • Architecture — Follows the existing lazy-singleton config pattern. Clean separation of concerns.
  • Git conventions — PR title (feat: ...) and branch name (feat/...) follow semantic commit format.

No P0 or P1 issues found. No P2 issues either — this is a clean, well-scoped change.


Reviewed by Jarvis 🤖 · Requested by juanmahidalgo via GitHub

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying ui2 with  Cloudflare Pages  Cloudflare Pages

Latest commit: 6e580d9
Status: ✅  Deploy successful!
Preview URL: https://c29d0d67.ui2-423.pages.dev
Branch Preview URL: https://feat-navbar-shop-urls-and-ex.ui2-423.pages.dev

View logs

@juanmahidalgo
juanmahidalgo merged commit 3aa37af into master Aug 5, 2026
4 checks passed
@juanmahidalgo
juanmahidalgo deleted the feat/navbar-shop-urls-and-explore-label branch August 5, 2026 15:11
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.

2 participants