SkateSpots/src/pages
SkateSpots 5f5a954ce6 feat(profile): badges — clickable chips + a SkateSpots member badge
- lib/badges.ts + ProfileBadges: a profile shows (1) the built-in SkateSpots
  badge, derived from a nip05 ending @skate-spots.org (app logo linking to
  https://skate-spots.org/ — no storage, works for existing users), and (2) user
  badges from a kind-0 badges array ({label,url?}) rendered as clickable chips.
- NIP19Page: app badge in the header, user badges in a 'Badges' card (replaces
  the plain Sponsors section).
- EditProfileForm: Sponsors editor becomes a Badges editor (label + optional
  link); saves the badges array and retires the legacy newline sponsors field.
  Existing sponsors are read back as label-only badges, so nothing disappears.
2026-09-28 19:40:19 +07:00
..
AboutPage.tsx contents(about): rework the Credits list 2026-09-28 10:31:43 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateShopPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
CreateSpotPage.tsx feat(spots): make reports act, add a publish floor, stop junk looking endorsed 2026-09-28 19:32:01 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
EditSpotPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41: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 feat(spots): make reports act, add a publish floor, stop junk looking endorsed 2026-09-28 19:32:01 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +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(profile): badges — clickable chips + a SkateSpots member badge 2026-09-28 19:40:19 +07:00
NotFound.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
OnboardingPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
PrivacyPage.tsx docs(privacy): disclose the BTCMap layer and how zaps identify you 2026-09-28 18:27:53 +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 fix(pro): stack Pro proofs + owner-grant fallback 2026-09-28 18:58:25 +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 refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +07:00
SupportersPage.tsx refactor(layout): hoist Layout into the router so the chrome mounts once 2026-09-27 13:41:42 +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