SkateSpots/src/components
shakespeare.diy 135fbaab40 Events discovery polish + real bug/perf fixes across the grid
UX (all participants):
- EventCard now shows a live status pill (In 2 days / HAPPENING NOW / ENDED) on
  both the full and compact variants — the at-a-glance signal was previously
  detail-page only
- EventCard shows a "Presented by <sponsor>" ribbon so paid sponsor placements
  get real visibility in the discovery feed (not just after a click)
- Added a bottom legibility gradient so overlays stay readable on any cover

FIX (crash risk): EventsPage getTrustScore did `trustScores?.map.get` — since
useBatchTrustScores returns a plain Map (no `.map`), this threw TypeError once
scores loaded. Now reads the Map directly.

PERF (N+1 query storm): rendering the grid fired one RSVP query PER card
(~100 queries on a full page). Added useBatchEventRsvps — a single #a-filtered
query for all event coordinates — and thread goingCount into EventCard as a prop.
Cards without the prop (detail page, hosting dashboard) keep their own query.

Removed now-dead getRelativeTime/relativeTime/isUpcoming (superseded by the
EventCountdown pill).

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-09-03 14:47:02 +07:00
..
auth Fix Amber native login in APK: reliable Capacitor detection (v1.1.7) 2026-08-27 14:00:39 +07:00
comments fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
crew Add sponsor picker + notifiable crew join-requests 2026-09-03 00:23:55 +07:00
onboarding #5 Reframe 'permanent/can't delete' copy around user data ownership & relay choice (onboarding, relay education, about) 2026-08-27 09:59:43 +07:00
ui Crew band gig booking, hide treasury, CLINK on profiles, friendlier CLINK, remove desktop messages icon 2026-07-30 20:29:44 +07:00
wallet Replace cashumints.space links with mintradar.pedani.eu across wallet UI 2026-08-18 20:49:10 +07:00
ActivityNotificationCard.tsx Host tools: attendee list w/ trust, event updates, edit-alerts, Hosting tab 2026-09-03 11:25:57 +07:00
AddPhotoToSpot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AddTagsToSpot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AddToCollectionDialog.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AppProvider.tsx fix: increase relay query timeouts and fix AppConfigSchema for cold mobile loads 2026-06-18 15:28:26 +07:00
AttendeeList.tsx Host tools: attendee list w/ trust, event updates, edit-alerts, Hosting tab 2026-09-03 11:25:57 +07:00
AttendeeStack.tsx Events Phase 1: NIP-52 RSVPs, attendee stacks, date filter, host notifications 2026-09-03 10:47:57 +07:00
BackupReminder.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
BetaDisclaimerDialog.tsx Add first-launch beta disclaimer dialog + footer BETA badge 2026-08-01 12:14:42 +07:00
CameraCapture.tsx Fix Quick Snap opening gallery instead of camera on native (v1.0.70) 2026-07-24 19:47:36 +07:00
ClinkPayButton.tsx Crew band gig booking, hide treasury, CLINK on profiles, friendlier CLINK, remove desktop messages icon 2026-07-30 20:29:44 +07:00
CollectiveMembers.tsx Add skate roles to the crew roster (filmer, photographer, etc.) 2026-09-03 00:07:30 +07:00
ConfirmMembershipCard.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
CraftProfileForm.tsx Lab: add Designer/Artist, Graffiti, Tattoo, Trainer/Physio & Musician crafts (kinds 35007–35011) 2026-08-10 20:28:59 +07:00
CrewAgentPanel.tsx Crew Agent Phases 0–2: opt-in AI guide (🐝 Sasquatch) per crew 2026-07-24 19:26:19 +07:00
CrewBadge.tsx 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
CrewChat.tsx Wire live Cordn encrypted crew chat over the coordinator (ContextVM) 2026-09-03 00:15:22 +07:00
CrewForm.tsx Polish create-crew wizard: live feedback, smart stepper, member preview 2026-09-03 00:59:30 +07:00
CrewInviteCard.tsx Add crew invitation & notification system (Phase 1) 2026-09-02 22:59:34 +07:00
CrewInviteDialog.tsx Add crew invitation & notification system (Phase 1) 2026-09-02 22:59:34 +07:00
CrewLinkField.tsx Nutzap safety gate + crew↔Lab cross-linking 2026-07-24 14:27:51 +07:00
CrewLookingFor.tsx 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
CrewNip05Badge.tsx Add crew NIP-05 (any-domain, founder-verified) + founder/delegated-admin governance 2026-07-24 16:46:20 +07:00
CrewRequestToJoin.tsx Add sponsor picker + notifiable crew join-requests 2026-09-03 00:23:55 +07:00
CrewsForSpotCard.tsx 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
CrewTreasuryCard.tsx 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
CrossLinkCards.tsx 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
CustomizeNavSheet.tsx Customizable mobile bottom nav: fixed Map + 3 user-picked tabs + fixed Profile 2026-07-25 12:53:06 +07:00
CVMHealthCheck.tsx Add owner-only ContextVM server health check (Settings > Advanced) 2026-07-29 22:27:22 +07:00
DeepLinkHandler.tsx Fix Amber login for ZapStore/Capacitor app 2026-07-08 22:29:26 +07:00
DeleteEntityDialog.tsx Admins can delete/take down any listing (spot, crew, tour, event, shop) 2026-08-18 17:51:34 +07:00
DesktopNavManager.tsx Add desktop top-nav customization (Settings > Appearance > Navigation) 2026-07-29 22:09:20 +07:00
EditProfileForm.tsx Profile polish: NIP-05 field UX, share+QR, at-a-glance stats, cleaner empty states 2026-09-02 22:08:49 +07:00
EntityTypeField.tsx Add individual/collective entity type + NIP-32 membership attestation to The Lab 2026-07-24 13:18:18 +07:00
ErrorBoundary.tsx fix: splash screen + ErrorBoundary dark bg for Capacitor APK white screen 2026-06-18 21:27:34 +07:00
EventCard.tsx Events discovery polish + real bug/perf fixes across the grid 2026-09-03 14:47:02 +07:00
EventCountdown.tsx Fix event UX correctness: live countdown, cancellation banner, NIP-52 tag cleanup 2026-09-03 14:33:28 +07:00
EventSponsors.tsx Event detail hero redesign + live countdown + sponsors 2026-09-03 12:04:07 +07:00
EventUpdates.tsx Give admins moderator control over events + fix a spoofing hole 2026-09-03 14:40:17 +07:00
FeaturedEventUpgrade.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
FollowListManager.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
FounderFollow.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
GearSwapItemCard.tsx Extend admin takedown to Lab profiles and gear/marketplace listings 2026-08-18 19:17:16 +07:00
HostingDashboard.tsx Host tools: attendee list w/ trust, event updates, edit-alerts, Hosting tab 2026-09-03 11:25:57 +07:00
JoinRequestCard.tsx Admins can endorse join-requests; founder ratifies (kind 9087) 2026-09-03 01:40:04 +07:00
LabCrewsStrip.tsx Crew form UX: expand Crew Type to 7 scenes (Art, Music, Wellness) mapping to new Lab crafts; rethink Crew Band with Lab-music interconnect nudge; surface member visibility to founders; add Artist/Musician open-call options; update Crews page filters + NIP.md 2026-08-10 22:14:21 +07:00
LabLinkField.tsx Nutzap safety gate + crew↔Lab cross-linking 2026-07-24 14:27:51 +07:00
LabProUpgrade.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
LanguageToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
Layout.tsx Bring desktop/tablet "More" menu to parity with mobile burger 2026-09-03 10:29:54 +07:00
MarketplaceItemCard.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
MemberVisibilityControl.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
MyDataTab.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NewMessageDialog.tsx Enrich profiles (crews, bot, CLINK), best-in-class New Message picker, map toolbar declutter 2026-07-30 21:36:42 +07:00
NewsletterOverlay.tsx Fix newsletter admin gating: use isAdminPubkey from lib/admins instead of undefined NEWSLETTER_ADMIN_PUBKEYS 2026-08-20 16:16:09 +07:00
NofferField.tsx Add clinkme.dev specs and apps page links across the app 2026-08-19 15:13:32 +07:00
NostrProvider.tsx Make goskatespots.nostr1.com the top-priority catching relay 2026-07-25 13:14:50 +07:00
NostrSync.tsx #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
NoteContent.test.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NoteContent.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NotificationBell.tsx Polish notifications: full activity center (social + crews), not just crews 2026-09-03 10:21:15 +07:00
OfficialBadge.tsx security: implement all 8 protection measures 2026-06-18 14:03:15 +07:00
OfflineIndicator.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
PlatformFeePayment.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
ProBadge.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
PWAInstallPrompt.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
QualityMeter.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
RelatrSettings.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
RelayListManager.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ReportDialog.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ReportSpotStatusDialog.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
RouteDialog.tsx Add in-app routing (foot/bike/moto/car) via OSRM — no external maps handoff 2026-09-03 10:17:06 +07:00
RsvpButtons.tsx Events Phase 1: NIP-52 RSVPs, attendee stacks, date filter, host notifications 2026-09-03 10:47:57 +07:00
SasquatchActionCard.tsx Sasquatch Pro Phase 2: action drafting (draft → you confirm) 2026-07-29 23:41:11 +07:00
SasquatchGuide.tsx Sasquatch: open the panel on the LEFT again on desktop 2026-08-27 16:28:07 +07:00
SasquatchProDialog.tsx feat(sasquatch): Pro receipt DM + local Pro FAQ + tougher free-tier answers 2026-07-30 00:21:34 +07:00
ScrollToTop.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
SecuritySettings.tsx Add recovery-code retrieval to Settings > Security (closes the deferred-backup loop) 2026-08-27 11:10:51 +07:00
SetStatusDialog.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ShareProfileDialog.tsx ShareProfileDialog: no horizontal scroll + canonical share URL 2026-09-02 22:16:09 +07:00
ShopBountyCard.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SkateGlobe.tsx revert: remove 3D globe, restore flat map as default 2026-07-23 16:18:24 +07:00
SkaterDirectoryCard.tsx Rename "Action shot" to "Profile Pic" and add custom Level option for skaters 2026-09-02 21:34:59 +07:00
SortDropdown.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpamFeePayment.tsx fix: remove orphaned canvas code from RiderCardPage causing ctx/Printer is not defined crash 2026-06-16 17:02:59 +07:00
SponsorSlot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpotCard.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
SpotChat.tsx Add "Public" badge to Spot Chat header + clearer privacy note 2026-07-24 15:12:39 +07:00
SpotMap.tsx #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
SpotOwnership.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpotPicker.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpotStatusBadge.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
TagInput.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ThemeToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
TourCard.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
TripItineraryCard.tsx feat(sasquatch): add Trip Planner + tougher free-tier fallback + new joke book 2026-07-30 00:04:28 +07:00
TrustBadge.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
TrustFilter.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
UserStatusIndicator.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
VouchCard.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
WalletModal.tsx Wallet: warn users to set an NWC spending budget before connecting 2026-08-16 22:16:05 +07:00
WeatherToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
WhosSkating.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ZapButton.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ZapCrewDialog.tsx Zap a whole crew: split a zap across confirmed members 2026-07-24 14:31:45 +07:00
ZapDialog.tsx Sasquatch: teach him all the new features + fix zap comment 2026-07-24 14:12:30 +07:00