Skip to content

feat(vscode): Markets button + full-screen marketplace view#27

Merged
zo-sol merged 1 commit into
mainfrom
feat/vscode-markets-view
Jun 14, 2026
Merged

feat(vscode): Markets button + full-screen marketplace view#27
zo-sol merged 1 commit into
mainfrom
feat/vscode-markets-view

Conversation

@zo-sol

@zo-sol zo-sol commented Jun 14, 2026

Copy link
Copy Markdown
Collaborator

Per the plan — VSCode first. Adds a Markets pill in the top bar (next to the wallet dropdown) that opens a full-screen skill marketplace.

What you get

  • Markets button — a green pill beside the wallet dropdown (C3EP..krH ▾). Click → full-screen Markets view; the button shows an active state while open.
  • Markets view — title, a search box, and a results grid. Opening it loads the popular list (empty query = supply-sorted); typing + Search filters.
  • Skill cards — image slot (wand placeholder until NFT images land), name, description, supply (×count), and a Buy button that disables to Owned for skills you already hold.
  • Back to chat returns to the conversation.

How it's wired (no new backend)

Reuses the shared market message contract (#26) end to end: searchSkills → searchResults, buySkill → buyResult, ownedSkills. The existing marketplaceEnv callbacks drive everything.

  • searchResults now renders both the small skills-panel shop and the full Markets grid.
  • ownedSkills re-renders the open view's Owned badges.
  • buyResult refreshes whichever view is showing.

So a buy in the Markets view installs the skill (PR #20 path) and the card flips to Owned.

Scope / next

Verify

  • webview app script parses (it's an HTML string — no compile typecheck)
  • test/test-skills.ts — 31/31 (incl. the contract↔webview agreement checks)
  • tsc --noEmit clean (core + vscode)

🤖 Generated with Claude Code

Adds a 'Markets' pill in the top bar next to the wallet dropdown that opens a
full-screen skill marketplace view (the wallet/chat view-switch pattern, a new
'market' panel). Opening it loads the popular list (empty query = supply-sorted);
a search box filters; each result is a card with image slot, name, description,
supply, and a Buy button (disabled = Owned).

Reuses the shared market message contract (#26) end to end — searchSkills/
searchResults/buySkill/buyResult/ownedSkills — so no new backend: the existing
marketplaceEnv callbacks drive it. searchResults now renders BOTH the small
skills-panel shop and the full Markets grid; ownedSkills re-renders the open
view's Owned badges; buyResult refreshes whichever view is showing.

VSCode-first per the plan; the mobile React surface gets its own design over the
same contract next. webview script parses, test-skills 31/31, core+vscode tsc clean.
@zo-sol zo-sol merged commit 2931460 into main Jun 14, 2026
@zo-sol zo-sol deleted the feat/vscode-markets-view branch June 14, 2026 10:52
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