SkateSpots/src/hooks
SkateSpots 0d15a7ce3d fix(marketplace): close the P0 audit gaps + borrow the guidelines page
P0 fixes from UX_AUDIT_2026-10-09.md:
- useMarketplaceItem now filters admin-hidden listings and skips
  showcase-only (not-for-sale) items, so a direct /listing/... URL cannot
  surface removed or non-sale content.
- Listing detail hides Make an offer for logged-out users and for
  fixed-price listings (Buy is the single primary CTA there).

Borrowed from the Plebeian market review: a /marketplace-guidelines page
(peer-to-peer, buyer-beware, no checkout, prohibited items, soft
moderation), linked from the marketplace hub; new marketTerms en/es keys.
Records the remaining borrowables in the audit doc.
2026-10-09 20:21:04 +07:00
..
wallet i18n(es): translate status presets, SetStatusDialog, nutzap + wallet toasts 2026-10-07 17:04:04 +07:00
useActivityNotifications.ts feat(notify): opt-in on-device OS notifications (Phase 1) 2026-09-29 12:59:13 +07:00
useAdminHide.ts feat(spots): claim ownership of a private spot (NIP-05 + moderator confirm) 2026-10-02 11:06:58 +07:00
useAdminModeration.ts feat(trust): a real mute (NIP-51 kind 10000) that hides content 2026-10-09 18:23:04 +07:00
useAppContext.ts New project created with Shakespeare 2026-06-15 19:49:07 +07:00
useAuthor.ts fix(card,profile): resolve the card's profile via the app's own relays 2026-10-02 12:18:49 +07:00
useAutoHiddenSpots.ts feat(spots): make reports act, add a publish floor, stop junk looking endorsed 2026-09-28 19:32:01 +07:00
useBackgroundDelivery.ts feat(push): category-aware notifications (trades-only actually means trades-only) 2026-10-01 20:01:07 +07:00
useBatchSpotCommunityScores.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useBatchTrustScores.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useBTCMap.ts chore(lint): clear all no-unused-vars warnings (position-precise) 2026-09-26 22:20:21 +07:00
useBtcMapPlaces.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useCitrine.ts Citrine audit: endpoint fallback, a11y, reduced-motion, UX polish (1.3.6) 2026-09-09 10:54:22 +07:00
useCoaches.ts #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
useCollectiveJoinRequests.ts Crew audit: fix member-clobber on rapid roster writes (1.2.37) 2026-09-08 00:02:30 +07:00
useCollectiveMembers.ts Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
useCommentCounts.ts Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
useComments.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useCoordinator.ts feat(coordinator): Cordn client slice — pick/add a coordinator + run-your-own hand-off 2026-09-29 15:11:36 +07:00
useCordnChat.ts fix(amber): stop passive decryption from storming Amber on navigation (1.2.16) 2026-09-07 14:57:35 +07:00
useCrewActivity.ts Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
useCrewAgentChat.ts i18n(es): batch 3 part 2 — locale-aware dates & relative times 2026-10-02 15:19:38 +07:00
useCrewChatRead.ts feat: cross-device read-state + preference sync via encrypted NIP-78 2026-09-25 09:49:47 +07:00
useCrewChatUnread.ts Crew chat: unread dot on the Chat tab (cheap, honest, no bell spam) 2026-09-03 18:21:38 +07:00
useCrewDismissals.ts Crew dismissals: merge remote set before sync (close clobber pattern) 2026-09-07 20:46:46 +07:00
useCrewEvents.ts Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
useCrewFeed.ts Step 3: Crews — map-anchored collective feature (kind 35006) 2026-07-24 13:59:50 +07:00
useCrewGoal.ts security: verify invoice amounts + require provider-issued zap receipts (1.2.14) 2026-09-07 11:45:21 +07:00
useCrewInvites.ts Crew audit: fix member-clobber on rapid roster writes (1.2.37) 2026-09-08 00:02:30 +07:00
useCrewmates.ts Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
useCrewModeration.ts Add crew admin moderation + invite actions 2026-07-24 17:01:28 +07:00
useCrewNip05.ts Add soft NIP-05 verification for skaters (open directory + "Verified" filter) 2026-09-02 21:51:11 +07:00
useCrewNotifications.ts fix: tier 4 — offer role trust, proof replay, crew alerts, error/nav i18n 2026-10-02 23:22:13 +07:00
useCrewRole.ts Add crew NIP-05 (any-domain, founder-verified) + founder/delegated-admin governance 2026-07-24 16:46:20 +07:00
useCrews.ts feat(moderation): report inbox, bulk undo, crews + Lab in the queue 2026-09-28 10:20:54 +07:00
useCrewsForSpot.ts Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
useCrewZap.ts security: verify invoice amounts + require provider-issued zap receipts (1.2.14) 2026-09-07 11:45:21 +07:00
useCurrentUser.ts Fix Amber native login in APK: reliable Capacitor detection (v1.1.7) 2026-08-27 14:00:39 +07:00
useCVMClient.ts Give Lab profiles a per-craft URL: /lab/<craft>/<pubkey>/<id> 2026-10-04 11:32:15 +07:00
useCVMServerHealth.ts fix(sasquatch): bound AI latency, separate system prompt, verify relay events 2026-09-27 10:32:07 +07:00
useDeleteEntity.ts fix(map): stop deleted spots flashing back from cache 2026-10-09 09:03:16 +07:00
useDeriveRegions.ts fix(stats): tick the region-derivation counter live and merge name/code groups 2026-10-01 14:22:02 +07:00
useDirectMessages.ts fix(security): tier 1 — money & auth (C1–C5 partial) 2026-10-02 21:19:10 +07:00
useDmEnvelopes.ts feat(notify): opt-in on-device OS notifications (Phase 1) 2026-09-29 12:59:13 +07:00
useDMRead.ts feat: cross-device read-state + preference sync via encrypted NIP-78 2026-09-25 09:49:47 +07:00
useDmRelays.ts feat(relays): NIP-17 DM inbox relays (kind 10050) 2026-09-26 21:32:53 +07:00
useEventRsvps.ts feat(card,review): Event pass/wristband template + Claims tab in /review 2026-10-02 11:13:40 +07:00
useEventUpdates.ts Give admins moderator control over events + fix a spoofing hole 2026-09-03 14:40:17 +07:00
useExchangeRate.ts Deck cost calculator: convert + a searchable multi-currency selector 2026-10-05 10:16:50 +07:00
useFeaturedVerification.ts security: verify invoice amounts + require provider-issued zap receipts (1.2.14) 2026-09-07 11:45:21 +07:00
useFollowing.ts i18n(es): translate SupportSkateSpots + hook toasts (follow, report, offline, publish) 2026-10-07 16:50:00 +07:00
useFollowList.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useFoodSpots.ts fix: tier 3 — medium bugs & hardening 2026-10-02 22:26:46 +07:00
useFormDraft.ts feat(create-spot): pin map, progressive disclosure, mandatory photo+description, inline errors, draft autosave 2026-10-07 10:29:01 +07:00
useGeolocation.ts Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
useGigs.ts Interconnect Music ↔ Events: featured musician on events + gig list on musician profiles; count new Lab crafts in growth stats; document visibility/vouch/gig conventions in NIP.md 2026-08-10 22:02:22 +07:00
useGrowthStats.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useIsMobile.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useLabDraft.ts feat(create-spot): pin map, progressive disclosure, mandatory photo+description, inline errors, draft autosave 2026-10-07 10:29:01 +07:00
useLabProfiles.ts fix(trust): C5b — featured ranking requires a verified provider receipt 2026-10-02 23:28:34 +07:00
useLightningAddress.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useListingReports.ts refactor(relays): route every relay consumer through useRelays() 2026-09-26 22:36:14 +07:00
useListingRestrictions.ts fix: tier 3 — medium bugs & hardening 2026-10-02 22:26:46 +07:00
useLocalReminders.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useLocalStorage.ts fix(trust): tier 2 — moderation, labels & data integrity (H2–H17) 2026-10-02 21:30:01 +07:00
useLoggedInAccounts.ts chore(lint): remove safely-detectable unused locals 2026-09-26 21:58:03 +07:00
useLoginActions.ts Fix amber login type: use x-amber instead of amber 2026-07-09 14:57:20 +07:00
useMapFooterHidden.ts Add a slim, dismissible site-links strip to the map 2026-10-05 09:15:51 +07:00
useMarketplace.ts fix(marketplace): close the P0 audit gaps + borrow the guidelines page 2026-10-09 20:21:04 +07:00
useMarketplaceOffers.ts fix: tier 4 — offer role trust, proof replay, crew alerts, error/nav i18n 2026-10-02 23:22:13 +07:00
useMarkListingSold.ts chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
useMembershipAttestation.ts Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
useMintDirectory.ts feat(mints): surface MintRadar's community ratings, reliability and audit data 2026-09-29 18:02:57 +07:00
useMuteList.ts feat(trust): a real mute (NIP-51 kind 10000) that hides content 2026-10-09 18:23:04 +07:00
useMuteUser.ts feat(trust): a real mute (NIP-51 kind 10000) that hides content 2026-10-09 18:23:04 +07:00
useMyLabProfile.ts feat(lab): craft profiles are now editable + add a title/headline field 2026-09-27 00:17:05 +07:00
useNavPreferences.ts Add the DIY section (resources for boards, ramps & concrete) 2026-10-05 09:55:26 +07:00
useNetworkAlerts.ts feat(trust): network alerts for reported accounts you follow 2026-10-09 18:32:47 +07:00
useNewsletterIssues.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useNewsletterRead.ts feat: cross-device read-state + preference sync via encrypted NIP-78 2026-09-25 09:49:47 +07:00
useNewsletterSubscriberCount.ts Newsletter: subscriber count + admin archive backfill to Nostr 2026-09-03 19:21:09 +07:00
useNewsletterSubscription.ts fix(newsletter): infinite render loop + issues published to the wrong relays 2026-09-27 17:40:02 +07:00
useNostr.ts New project created with Shakespeare 2026-06-15 19:49:07 +07:00
useNostrPublish.ts i18n(es): translate SupportSkateSpots + hook toasts (follow, report, offline, publish) 2026-10-07 16:50:00 +07:00
useNotASpotReport.ts i18n(es): translate SupportSkateSpots + hook toasts (follow, report, offline, publish) 2026-10-07 16:50:00 +07:00
useNotificationPrefs.ts feat(notify): opt-in on-device OS notifications (Phase 1) 2026-09-29 12:59:13 +07:00
useNotificationsRead.ts feat: cross-device read-state + preference sync via encrypted NIP-78 2026-09-25 09:49:47 +07:00
useNutzap.ts i18n(es): translate status presets, SetStatusDialog, nutzap + wallet toasts 2026-10-07 17:04:04 +07:00
useNWC.ts i18n(es): translate zap/NWC/delete/stash toasts + reuse feesUi keys for fee metadata 2026-10-07 16:55:33 +07:00
useNWCContext.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useOfflineCache.ts i18n(es): translate SupportSkateSpots + hook toasts (follow, report, offline, publish) 2026-10-07 16:50:00 +07:00
usePayPaymentPointer.ts fix(audit P2 money/auth): invoice amount checks (Pro/fee/pointer), verify embedded zap req, harden NIP-05 proof + Pro grant, sanitize cordn link 2026-10-05 21:32:58 +07:00
usePersonalContext.ts feat(pro): honest personal context, wanted-ads draft, days-left, live USD, copy 2026-09-28 19:05:54 +07:00
usePlatformFee.ts i18n(es): translate zap/NWC/delete/stash toasts + reuse feesUi keys for fee metadata 2026-10-07 16:55:33 +07:00
usePostComment.ts fix(audit P1): comment cache key, ticket verify fails closed, featured amount check, no empty-object persist, sticky sub-bars 2026-10-05 21:07:07 +07:00
usePreferences.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
usePrivateContacts.ts Private Contacts: fetch-before-write to prevent list clobber 2026-09-07 20:36:01 +07:00
useProfileHandles.ts feat(nip05): multiple handles for profiles, crews and shops 2026-10-03 17:26:59 +07:00
usePurchasePro.ts fix(audit P2 money/auth): invoice amount checks (Pro/fee/pointer), verify embedded zap req, harden NIP-05 proof + Pro grant, sanitize cordn link 2026-10-05 21:32:58 +07:00
usePushNotifications.ts feat(push): category-aware notifications (trades-only actually means trades-only) 2026-10-01 20:01:07 +07:00
useQRCodeScanner.ts feat(clink): real bech32+TLV decode/validation (lib/clink.ts), spec-correct raw QR/copy, show decoded pricing; validate scanner 2026-10-06 11:16:20 +07:00
useReadState.ts fix(newsletter): infinite render loop + issues published to the wrong relays 2026-09-27 17:40:02 +07:00
useRecentReports.ts feat(moderation): report inbox, bulk undo, crews + Lab in the queue 2026-09-28 10:20:54 +07:00
useRegionBackfill.ts feat(stats): admin backfill for legacy untagged spots/shops 2026-10-01 13:58:21 +07:00
useRelatrScore.ts Security hardening (audit F1-F4): secure Cashu seed in native Keychain/KeyStore with mandatory first-time backup; verify event signatures for trust scores (WoT + NIP-85 Relatr); add safeJson guard on config boot parse; delete dead CashuWallet.tsx with raw alert(mnemonic) 2026-09-24 18:13:58 +07:00
useRelayStatus.ts Polish relay list UI: match CitrineCard style, add Local chip, on-brand read/write chips, and live connection dots 2026-09-14 10:14:16 +07:00
useRiderCard.ts feat(card): public pass hint + shop/listing pass badges (audit items 2 & 4) 2026-10-02 15:05:49 +07:00
useRiderStats.ts feat: SkateSpots Rider Cards — 3 card types, 6 themes, holographic shimmer, print-ready 2026-06-16 14:29:54 +07:00
useSasquatchActions.ts i18n(es): batch 3 part 3 — shared label maps + leftover routing/Sasquatch strings 2026-10-02 15:31:27 +07:00
useSasquatchAiStatus.ts feat(ai-proxy): run the AI proxy on the CVM host, ready to switch over 2026-09-28 13:32:05 +07:00
useSasquatchGuide.ts i18n(es): translate the Sasquatch onboarding guide script 2026-10-07 16:58:43 +07:00
useSasquatchHidden.ts Quieter Sasquatch bubble: no perpetual pulse, hideable, map-aware 2026-10-04 14:20:46 +07:00
useSasquatchPro.ts fix(audit P2 money/auth): invoice amount checks (Pro/fee/pointer), verify embedded zap req, harden NIP-05 proof + Pro grant, sanitize cordn link 2026-10-05 21:32:58 +07:00
useSellerInfo.ts refactor(relays): route every relay consumer through useRelays() 2026-09-26 22:36:14 +07:00
useSellerSales.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useSetTrustProvider.ts feat(trust): let the viewer choose the trust provider (NIP-85 kind 10040) 2026-10-09 17:55:00 +07:00
useShakespeare.ts chore: clean up console noise - remove debug logs from NostrProvider, NostrSync, useShakespeare 2026-06-16 22:23:00 +07:00
useShipmentStatus.ts feat(shipping): meet-at-a-spot suggestions + shipment status (kind 34967) 2026-10-01 17:01:57 +07:00
useShops.ts feat(nip05): multiple handles for profiles, crews and shops 2026-10-03 17:26:59 +07:00
useSkateEvents.ts fix(trust): C5b — featured ranking requires a verified provider receipt 2026-10-02 23:28:34 +07:00
useSkateNip05.ts feat(nip05): free name@skate-spots.org handles, claimed at signup 2026-09-28 12:13:34 +07:00
useSkateRelays.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useSkaters.ts Add Skater profiles (kind 35000) + /skaters directory 2026-09-02 20:58:51 +07:00
useSkaterVerifications.ts Add soft NIP-05 verification for skaters (open directory + "Verified" filter) 2026-09-02 21:51:11 +07:00
useSkateShops.ts feat(quality): review queue for every kind, soft photo gate, empty-map nudge 2026-09-28 09:59:09 +07:00
useSkateSpots.ts fix(map): stop deleted spots flashing back from cache 2026-10-09 09:03:16 +07:00
useSpotChat.ts Add Spot Chat: ephemeral geohash-anchored local chat channels 2026-07-24 14:52:48 +07:00
useSpotClaims.ts feat(spots): claim ownership of a private spot (NIP-05 + moderator confirm) 2026-10-02 11:06:58 +07:00
useSpotCollections.ts fix(trust): tier 2 — moderation, labels & data integrity (H2–H17) 2026-10-02 21:30:01 +07:00
useSpotCommunityScore.ts fix(audit P2 data): NaN guards (events/tours/zaps), query-key fixes, no array mutation, pure preference updater, zap limit 2026-10-05 21:37:01 +07:00
useSpotContributions.ts fix: tier 3 — medium bugs & hardening 2026-10-02 22:26:46 +07:00
useSpotReports.ts feat(spots): make reports act, add a publish floor, stop junk looking endorsed 2026-09-28 19:32:01 +07:00
useSpotServices.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useSpotStatus.ts fix: tier 3 — medium bugs & hardening 2026-10-02 22:26:46 +07:00
useSpotWeather.ts #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
useStash.ts i18n(es): translate zap/NWC/delete/stash toasts + reuse feesUi keys for fee metadata 2026-10-07 16:55:33 +07:00
useStashShowcase.ts feat(stash): a public want becomes a marketplace want ad 2026-10-01 08:35:52 +07:00
useSyncedAppData.ts fix(amber,routing): scope Amber prompts to real actions; real per-mode routes + steps 2026-09-27 18:35:17 +07:00
useTheme.ts New project created with Shakespeare 2026-06-15 19:49:07 +07:00
useToast.ts New project created with Shakespeare 2026-06-15 19:49:07 +07:00
useTours.ts fix(trust): C5b — featured ranking requires a verified provider receipt 2026-10-02 23:28:34 +07:00
useTradeAttestations.test.ts feat(marketplace): mutual trade attestations + reputation (kind 31871) 2026-09-26 20:17:38 +07:00
useTradeAttestations.ts fix: tier 4 — offer role trust, proof replay, crew alerts, error/nav i18n 2026-10-02 23:22:13 +07:00
useTradeIntegrity.ts feat(reputation): activity weighting + closed-ring detection 2026-10-01 16:26:30 +07:00
useTradeNotifications.ts fix(map): stop the offline banner sticking; feat(trades): notify trade confirmations 2026-09-29 21:06:04 +07:00
useTraderRecommendations.ts feat(trades): trusted-trader recommendations (31873) + offer DM nudges 2026-09-26 23:24:23 +07:00
useTrustAssertions.ts feat(trust): batch provider reads, neutral direct follows, flagged notice 2026-10-09 17:17:11 +07:00
useTrustBucket.ts perf(trust): compute the local WoT graph once per viewer 2026-10-09 18:04:16 +07:00
useTrustDisplay.ts feat(trust): Settings -> Trust and name AGPL on the License page 2026-10-09 17:45:56 +07:00
useTrustProvider.ts feat(trust): Settings -> Trust and name AGPL on the License page 2026-10-09 17:45:56 +07:00
useTrustScore.ts Security hardening (audit F1-F4): secure Cashu seed in native Keychain/KeyStore with mandatory first-time backup; verify event signatures for trust scores (WoT + NIP-85 Relatr); add safeJson guard on config boot parse; delete dead CashuWallet.tsx with raw alert(mnemonic) 2026-09-24 18:13:58 +07:00
useUploadFile.ts feat(offline): cache map tiles on-device + photo mirror fallback 2026-09-28 13:01:27 +07:00
useUserReports.ts feat(trust): batch provider reads, neutral direct follows, flagged notice 2026-10-09 17:17:11 +07:00
useUserStatus.ts i18n(es): translate status presets, SetStatusDialog, nutzap + wallet toasts 2026-10-07 17:04:04 +07:00
useViewerGraph.ts feat(trust): confidence gate on the local ladder 2026-10-09 18:36:50 +07:00
useVouches.ts Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
useWallet.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
useZapLeaderboard.ts feat(supporters): per-row dates + 'updated', dedicated /donate page, extract shared support cards 2026-10-05 19:54:49 +07:00
useZaps.ts i18n(es): translate zap/NWC/delete/stash toasts + reuse feesUi keys for fee metadata 2026-10-07 16:55:33 +07:00
useZapTotals.test.ts test: cover zap helpers and newsletter data 2026-09-26 19:45:48 +07:00
useZapTotals.ts feat(leaderboards): zap leaderboards page (top spots + top supporters) 2026-09-26 17:17:21 +07:00