diff --git a/package-lock.json b/package-lock.json index a9d52ad..bf3f37f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "skate-spots", - "version": "1.7.79", + "version": "1.7.80", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "skate-spots", - "version": "1.7.79", + "version": "1.7.80", "license": "AGPL-3.0-only", "dependencies": { "@bitcoinerlab/secp256k1": "^1.2.0", diff --git a/package.json b/package.json index 381b74a..39f9672 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "skate-spots", "private": true, - "version": "1.7.79", + "version": "1.7.80", "license": "AGPL-3.0-only", "type": "module", "homepage": "https://skate-spots.org", diff --git a/release-notes.txt b/release-notes.txt index b529ba7..62f453c 100644 --- a/release-notes.txt +++ b/release-notes.txt @@ -1,3 +1,17 @@ +🛹 Marketplace UX overhaul +- Search, category, listing type, fulfilment, trust and sorting now live in the URL, so refresh, Back/Forward, shared links and saved searches keep their context. +- Mobile browsing gets a proper filter sheet and removable active-filter chips instead of a wall of category buttons. +- Price sorting now normalizes BTC, sats and fiat to the same value before comparing; listings without an available rate sort last. +- Marketplace cards are real links again: keyboard activation, open-in-new-tab, middle-click and the browser context menu all work. +- Listing pages get a mobile action sheet for buying, contacting, offers, escrow and reporting, plus a sticky price/action bar. +- Contact and share links are canonical and safe to share from the Android app. +- Create-listing forms now autosave a local draft, restore it after refresh or accidental navigation, and offer a discard action. +- Added a live listing preview before publishing, plus photo cover selection and left/right reordering. +- The marketplace now supports Show More instead of silently stopping at the first 200 listings. +- Unknown category links now fall back safely instead of producing an empty filter state. + +--- + 🔐 Nsec is no longer stored persistently - Raw nsec logins now live only in sessionStorage. Reloading the tab keeps the session; closing the browser/app requires re-entering the key.