SkateSpots/src/pages
SkateSpots 84d1ba426d feat(lab): craft profiles are now editable + add a title/headline field
Audit of the Lab 'offer a service' flows found two cross-cutting gaps:
1. Every Lab card showed the name TWICE (the card renders a 'title' line, but
   all forms wrote title = the kind-0 display name). The field is meant to be a
   self-described headline.
2. Only the Skater flow could be edited; the 7 craft roles started blank and
   silently overwrote the previous profile on submit.

Fixes (shared CraftProfileForm -> 7 roles: artist, graffiti, tattoo, trainer,
musician, judge, organizer):
- New useMyLabProfileEvent(kind, identifier) hook; the form prefills from your
  existing profile and becomes an EDIT (button: Update Profile; toast: updated).
- New 'Name / headline' field -> the  tag (defaults to your name).
- Lab ProfileCard only shows the title line when it differs from the name.

Gate: 101 tests, 0 errors/warnings, boot smoke green.
2026-09-27 00:17:05 +07:00
..
AboutPage.tsx fix(a11y): Batch E part 1 — labels, valid nesting, touch targets 2026-09-26 18:46:51 +07:00
AmberCallbackPage.tsx ux: migrate more empty states + fill in missing page titles (U1/U2) 2026-09-24 18:50:25 +07:00
BecomeBuilderPage.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
BecomeCoachPage.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
BecomeEditorPage.tsx The Lab: warn before a "Become a …" form silently overwrites an existing profile (1.2.28) 2026-09-07 22:06:49 +07:00
BecomeFilmerPage.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
BecomePhotographerPage.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
BecomeRolePage.tsx refactor: consolidate become-* routes + migrate empty states to shared component 2026-09-24 18:44:53 +07:00
BecomeSkaterPage.tsx Skater profile: browse real map spots for home spot + always use kind-0 profile pic 2026-09-02 21:44:12 +07:00
BountyLeaderboardPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
CoachDetailPage.tsx feat(lab): add Event Organizer craft profile (kind 35013) 2026-09-27 00:02:39 +07:00
CollectionDetailPage.tsx refactor(relays): route every relay consumer through useRelays() 2026-09-26 22:36:14 +07:00
CommunityStatsPage.tsx chore(lint): clear all no-unused-vars warnings (position-precise) 2026-09-26 22:20:21 +07:00
ContactsPage.tsx feat(ui): PageHeader/PageContainer foundation (piloted on Contacts); profile info-first on mobile 2026-09-26 19:17:55 +07:00
ConversationPage.tsx feat(marketplace): wire Cashu escrow into the trade flow (native) 2026-09-26 21:08:36 +07:00
CreateCrewPage.tsx Redesign create-crew into a guided, idiotproof wizard 2026-09-03 00:44:59 +07:00
CreateEventPage.tsx refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
CreateListingPage.tsx chore(lint): clear all no-unused-vars warnings (position-precise) 2026-09-26 22:20:21 +07:00
CreateShopPage.tsx Shops: preserve unmanaged tags on edit + drop debug log (1.2.31) 2026-09-07 22:29:51 +07:00
CreateSpotPage.tsx refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
CreateTourPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
CrewDetailPage.tsx chore(lint): clear all no-unused-vars warnings (position-precise) 2026-09-26 22:20:21 +07:00
CrewsPage.tsx perf(lists): lazy-mount cards on the Skaters, Lab, Crews and Events grids 2026-09-26 23:13:37 +07:00
DirectMessagesPage.tsx feat(dm): group DMs (NIP-17) — inbox list + group thread 2026-09-26 19:52:33 +07:00
EditCrewPage.tsx Step 3: Crews — map-anchored collective feature (kind 35006) 2026-07-24 13:59:50 +07:00
EditEventPage.tsx EditEventPage: stop stripping unmanaged tags on edit (linked spots/crews, entry fee, Pro listing) (1.2.29) 2026-09-07 22:10:34 +07:00
EditShopPage.tsx Shops: preserve unmanaged tags on edit + drop debug log (1.2.31) 2026-09-07 22:29:51 +07:00
EditSpotPage.tsx Add spot "Shelter" (weather protection) field 2026-09-10 11:38:43 +07:00
EditTourPage.tsx ux: migrate more empty states + fill in missing page titles (U1/U2) 2026-09-24 18:50:25 +07:00
EventDetailPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
EventsPage.tsx refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
FAQPage.tsx fix(ux): Batch F part 2 — shop gallery lightbox; real FAQ content 2026-09-26 18:52:05 +07:00
FoodPage.tsx Audit fixes: harden Amber signEvent response handling, fix web AmberSigner signEvent naming, add Blossom upload fallbacks, sanitize untrusted URLs in FoodPage/CreateTourPage 2026-09-03 20:20:08 +07:00
GearSwapPage.tsx perf(marketplace): lazy-mount grid cards + open the detail page on click 2026-09-26 23:08:01 +07:00
GlossaryPage.tsx Glossary: drop difficulty levels, expand & correct tricks 2026-07-29 23:08:37 +07:00
GroupConversationPage.tsx feat(dm): group DMs (NIP-17) — inbox list + group thread 2026-09-26 19:52:33 +07:00
Index.tsx refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
LabPage.tsx feat(lab): craft profiles are now editable + add a title/headline field 2026-09-27 00:17:05 +07:00
LicensePage.tsx Fix ESLint gate: scope ignores to app source (exclude android/.agents/cvm-server/public html/scripts), add index.html title, downgrade unused-vars & no-explicit-any to warnings, fix real lint errors (SkateGlobe unused-expr, EventsPage prefer-const, LicensePage Infinity shadow, useless-escape in SasquatchGuide/RiderCardPage, stale eslint-disable directives) 2026-09-03 21:30:56 +07:00
ListingDetailPage.tsx feat(trades): trusted-trader recommendations (31873) + offer DM nudges 2026-09-26 23:24:23 +07:00
MapPage.tsx fix(map): hide the 'You are here' pin on desktop 2026-09-26 23:49:34 +07:00
MarketplacePage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
MintsPage.tsx feat(mints,escrow): MintRadar polish + escrow status in shared actions 2026-09-26 22:39:58 +07:00
NewsletterPage.tsx refactor: split non-component exports (react-refresh) into their own modules 2026-09-26 23:29:42 +07:00
NIP19Page.tsx feat(trades): trusted-trader recommendations (31873) + offer DM nudges 2026-09-26 23:24:23 +07:00
NotFound.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
OnboardingPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
PrivacyPage.tsx Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
PyramidPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
RiderCardPage.tsx chore(lint): clear all no-unused-vars warnings (position-precise) 2026-09-26 22:20:21 +07:00
SettingsPage.tsx refactor(settings): remove the Crew Network (nostr-vpn) screen 2026-09-26 23:45:28 +07:00
ShopDetailPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
SignersPage.tsx chore(lint): remove safely-detectable unused locals 2026-09-26 21:58:03 +07:00
SkatersPage.tsx perf(lists): lazy-mount cards on the Skaters, Lab, Crews and Events grids 2026-09-26 23:13:37 +07:00
SpotCollectionsPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
SpotDetailPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
StashPage.tsx chore(lint): remove all explicit any + sweep dead imports 2026-09-26 21:40:42 +07:00
SupportersPage.tsx Refine onboarding: collapse "Why bother?" for a lighter first view; update Suan Luang Backyard tagline 2026-09-16 10:25:47 +07:00
TourDetailPage.tsx fix(ux): Batch A part 1 — dead flows 2026-09-26 17:43:19 +07:00
TradesPage.tsx feat(trades): revoke/dispute a trade record (s=revoked) 2026-09-26 23:00:10 +07:00
WalletPage.tsx feat(mints,escrow): MintRadar polish + escrow status in shared actions 2026-09-26 22:39:58 +07:00
ZapLeaderboardPage.tsx fix(ux): Batch B — errors no longer masquerade as empty/404 2026-09-26 17:51:30 +07:00