feat(watchlist): add wallet-scoped watchlist keyed by address (#846) - #870
Merged
Chucks1093 merged 11 commits intoSep 5, 2026
Merged
Conversation
…layerorg#846) - Add useWatchlist zustand store persisted in localStorage, scoped by connected wallet address (guest fallback when disconnected) - Add WatchlistButton bookmark toggle on CreatorCard and CreatorDetailPage - Add /watchlist page with grid of bookmarked keys and an empty state - Add Watchlist nav link + count badge to marketplace sidebar and home header - Wire a lightweight useConnectedWallet store so components avoid wagmi useAccount where no provider is mounted
|
@Seunfunmi-319509 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
…yerorg#846) The branch was merged with dev, which reworked CreatorDetailPage, CreatorCard, and Header. Restore the watchlist integration that the merge dropped: - Re-add WatchlistButton next to CreatorProfileHeader so the bookmark toggle renders and the import is used (fixes eslint unused-var error) - Re-add useEffect import used by the connected-wallet sync in CreatorCard - Re-add Bookmark icon and watchlist store wiring in Header
…org#898) PR accesslayerorg#898 merge into feat/846-watchlist concatenated two versions of KeySimulationTool, SlippageToleranceSelector, slippageTolerance.utils, and their test files, producing broken syntax and duplicate declarations. - KeySimulationTool.tsx: removed stale courseService-based duplicate, kept simulateKeyBuy version used by CreatorDetailPage - SlippageToleranceSelector.tsx: kept only the accesslayerorg#877 version with previewPrice/side/onConfirm props - slippageTolerance.utils.ts: added missing closing brace for computeSlippageBounds, removed duplicate SLIPPAGE_TOLERANCE_PRESETS - Merged concatenated test files for SlippageToleranceSelector and slippageTolerance.utils with combined imports - CreatorDetailPage.tsx: removed unused WatchlistButton import - BatchBuyModal.tsx: fixed react-hooks/exhaustive-deps warning by capturing debounceTimers.current ref before cleanup 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
TradeDialog.tsx still used the old value/onChange/disabled props from the pre-accesslayerorg#877 SlippageToleranceSelector. Updated to pass previewPrice (converted from stroops), side, and onToleranceChange matching the new interface. Header.tsx referenced a Bookmark icon from lucide-react that was missing from the import list. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
…accesslayerorg#846) The last dev merge pulled in dev's own watchlist hook (from accesslayerorg#861) and left useWatchlist.ts as the hook implementation while components (Header, WatchlistButton, CreatorCard, MarketplaceSidebar, WatchlistPage) still call the wallet-scoped zustand store API, so `tsc -b` failed and CI went red. Restore the wallet-scoped store from the previously green commit and drop the superseded accesslayerorg#861 artifacts that only compile against the replaced hook API (unused WatchlistToggle component and its tests), keeping the PR's own watchlist tests. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
Contributor
Author
|
@Chucks1093 all checks passed |
Seunfunmi-319509
added a commit
to Seunfunmi-319509/accesslayer-client
that referenced
this pull request
Sep 4, 2026
…#900) The last dev merge into feat/recently-viewed-keys-864 carried over dev's own badly-resolved merge (e498adc in accesslayerorg#898), which left several files with duplicate, unparseable content that broke `pnpm lint` and `tsc`: - slippageTolerance.utils.ts / SlippageToleranceSelector.tsx / KeySimulationTool.tsx and their tests were each stitched from two generations of the API (accesslayerorg#872-era and accesslayerorg#877/accesslayerorg#887-era). Restore the implementations the tree's consumers (TradeDialog, LandingPage, CreatorDetailPage) actually use, from the clean pre-merge state. - WatchlistToggle.tsx and its test (dev accesslayerorg#861 artifacts) cannot compile against the wallet-scoped zustand watchlist store used by this branch's components; drop them and restore the store from the branch's own last good state, matching the accesslayerorg#870 resolution. Verified locally: pnpm lint clean, pnpm build green, 46 watchlist / slippage / recently-viewed tests pass. 🤖 Generated with Codebuff Co-Authored-By: Codebuff <noreply@codebuff.com>
Member
|
CI is green but this PR has a merge conflict with dev and cannot be auto-merged. Pull the latest dev into your branch with git fetch origin && git checkout your-branch && git merge origin/dev, resolve any conflicts, then run npm run build and npm run lint to confirm everything is clean before pushing. |
The dev merge into feat/846-watchlist left SlippageToleranceSelector referencing an 'activeToleranceText' variable from the older selector API while rendering the accesslayerorg#872-era component. Display the selected 'value' instead so tsc and the CI build pass.
Contributor
Author
|
@Chucks1093 all checks passed and no conflicts |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #846
Summary
Adds a wallet-scoped watchlist. Users can bookmark creator keys (persisted in localStorage keyed by connected wallet address), see them on a /watchlist page as a card grid, and get an empty state plus a navbar badge showing the saved count.
Changes
Tests