Powered by
TCG Market
Raw singles, sealed product and graded slabs. English, Japanese and Korean.
No cards match that. Try clearing the search or language filter.
Nothing matches that. Try clearing the search or language filter.
Got one worth framing?
WAFFLE makes the frames — 5×7in, anti-reflective glazing, 70% UV,
acid-free backing. Built for one card.
Shop the frames →
Concept — not built
The problem: tick Base Set, Holo and Vintage, click through to Card Shows, come back — and the grid is unfiltered again. All that work is gone. Right now this page only remembers cards-per-row and whether the rail is open.
Option 1 — put the filters in the URL
The address becomes something like
tcg-market.html?set=Base+Set&holo=Holo&q=pichu, rewritten quietly
each time a box is ticked.
replaceState, not pushState — otherwise every
tick is a history entry and Back needs pressing fifteen times to escape.Option 2 — save them in the browser (localStorage)
The same trick already used for the cards-per-row buttons.
Suggested: the URL, because it fixes the actual problem — leaving the page and coming back. localStorage can be layered on later for returning visitors. Build cost is small either way: all the filter state already lives in one object, and every change funnels through one function, so the save hook goes in a single place.
Related decision: whether Card Shows should force a new tab. Recommendation was no — it’s a main nav item on all seven pages, forcing a new tab breaks the Back button and feels broken on phones, and anyone who wants one can ctrl-click. Fix the filter memory instead and leaving the page costs nothing.