SkateSpots/src/pages
SkateSpots a12db574d4 feat(marketplace): NIP-13 proof of work - free CPU anti-spam
pow.ts: minePow/verifyPow/countLeadingZeroBits. PoW pays NO ONE - it is a free
CPU tax, not a fee. useNostrPublish accepts pow and mines the nonce on the
UNSIGNED event before signing (id is signature-independent -> one signer prompt).
CreateListingPage sends 16 bits per listing (~80ms) and 20 bits when a newcomer
chooses work instead of the 1,000-sat fee (SpamFeePayment.onPowInstead = the free
alternative). parseMarketplaceItem exposes powDifficulty; the card shows a PoW
badge at >=16.
2026-10-01 16:42:10 +07:00
..
AboutPage.tsx ui(support): move 'Keep the map free' from /about to /supporters 2026-09-29 11:08:57 +07:00
AdminReviewPage.tsx contents(admin): tidy the review queue + add gallery screenshots 2026-09-28 11:08:31 +07:00
AmberCallbackPage.tsx ux: migrate more empty states + fill in missing page titles (U1/U2) 2026-09-24 18:50:25 +07:00
AppShopPage.tsx contents(app-shop): move the free printables into the 'Sticker packs' entry 2026-09-28 11:21:03 +07:00
BecomeBuilderPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BecomeCoachPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BecomeEditorPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BecomeFilmerPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BecomePhotographerPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BecomeRolePage.tsx refactor: consolidate become-* routes + migrate empty states to shared component 2026-09-24 18:44:53 +07:00
BecomeSkaterPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
BountyLeaderboardPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CoachDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CollectionDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CommunityStatsPage.tsx fix(stats): robust trade volume instead of a sybil-inflatable sum 2026-10-01 15:53:13 +07:00
ContactsPage.tsx fix(dm): read history from the user's real inbox relays, not a stale list 2026-09-28 14:13:51 +07:00
ConversationPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateCrewPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateEventPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateListingPage.tsx feat(marketplace): NIP-13 proof of work - free CPU anti-spam 2026-10-01 16:42:10 +07:00
CreateShopPage.tsx feat(stats): reconcile the region card, and geocode shops too 2026-10-01 13:27:44 +07:00
CreateSpotPage.tsx feat(stats): reconcile the region card, and geocode shops too 2026-10-01 13:27:44 +07:00
CreateTourPage.tsx fix(pro): single-source the platform Lightning address + show it to payers 2026-09-27 14:13:37 +07:00
CrewDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CrewsPage.tsx ui: mint details sheet, crews type filter, smoother directions 2026-09-29 17:47:58 +07:00
DirectMessagesPage.tsx fix(dm): read history from the user's real inbox relays, not a stale list 2026-09-28 14:13:51 +07:00
EditCrewPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EditEventPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EditShopPage.tsx feat(stats): reconcile the region card, and geocode shops too 2026-10-01 13:27:44 +07:00
EditSpotPage.tsx fix(spots): editing a spot no longer drops its city/country tags 2026-10-01 13:37:54 +07:00
EditTourPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EventDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EventsPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
FAQPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
FoodPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
GearSwapPage.tsx feat(marketplace): local-first fulfilment (pickup/ships) + ring warning 2026-10-01 16:18:42 +07:00
GlossaryPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
GroupConversationPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
Index.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
LabPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
LicensePage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
ListingDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
MapPage.tsx fix(map): welcome banner no longer sits under the floating search toolbar 2026-10-01 12:31:30 +07:00
MarketplaceHubPage.tsx feat(marketplace): 1-10 deck ratings + seller dashboard 2026-09-27 16:26:24 +07:00
MarketplacePage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
MintsPage.tsx feat(mints): surface MintRadar's community ratings, reliability and audit data 2026-09-29 18:02:57 +07:00
NewsletterPage.tsx feat(newsletter): add Drop #006 to the archive (+cover support), incl. Sasquatch and Mints 2026-09-27 20:26:14 +07:00
NIP19Page.tsx feat(coordinator): profile discovery — publish yours, add theirs in one tap 2026-09-29 16:17:16 +07:00
NotFound.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
OnboardingPage.tsx feat(onboarding): clearer signup steps, backup confirmation, home area 2026-10-01 09:44:47 +07:00
PrivacyPage.tsx feat(push): client half - subscribe flow, service worker, DM marker 2026-10-01 15:39:04 +07:00
PyramidPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
RiderCardPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SettingsPage.tsx feat(stats): admin backfill for legacy untagged spots/shops 2026-10-01 13:58:21 +07:00
ShopDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SignersPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SkatersPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SpotCollectionsPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SpotDetailPage.tsx feat(spots): make reports act, add a publish floor, stop junk looking endorsed 2026-09-28 19:32:01 +07:00
StashPage.tsx feat(stash): merge multi-device changes instead of clobbering 2026-10-01 09:57:19 +07:00
SupportersPage.tsx ui(support): move 'Keep the map free' from /about to /supporters 2026-09-29 11:08:57 +07:00
TourDetailPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
TradesPage.tsx feat(marketplace): 1-10 deck ratings + seller dashboard 2026-09-27 16:26:24 +07:00
WalletPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
ZapLeaderboardPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00