SkateSpots/src
shakespeare.diy 9d069cb2f0 Add tour editing — the gap flagged in the addressable-events audit (1.2.33)
Tours (kind 30823) were the only major addressable entity with no edit path: an
organizer had to delete and recreate (losing the URL/identifier) just to fix a
typo or price. Rather than duplicate the enormous multi-category tour form (and
risk schema drift / the exact tag-clobber bugs fixed earlier this session), I
made the existing CreateTourPage do double duty:

- CreateTourPage now accepts an optional `existing?: SkateTour`. When present it
  prefills every field (all four categories: local/national/international/
  destruction — including challenges, prize distribution, film-release, partner
  shop, cities/countries, coords, dates), reuses the same `d` identifier, and
  adapts copy (title, submit button, toast).
- On save it PRESERVES unmanaged tags (sponsors, tags from other clients) and
  keeps any existing paid `featured` window — same "preserve unmanaged tags"
  discipline as the event/shop edit fixes, since 30823 is addressable and
  re-publishing replaces the whole tag set.
- Guarded the category→duration reset effect so it no longer clobbers the
  prefilled duration on the first render in edit mode.
- The paid FeaturedUpgrade upsell is hidden when editing (existing status is
  carried through automatically).

New EditTourPage wrapper loads the tour, gates to the owner (login / access-
denied states), and renders <CreateTourPage existing={tour} />. Added the
/edit-tour/:pubkey/:identifier route and an owner-only Edit button on
TourDetailPage beside the existing Delete control.

This closes the one concrete gap the addressable-events audit surfaced: every
entity now has both a working edit path (preserving unmanaged tags) and owner
management.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-09-07 22:42:34 +07:00
..
components Marketplace: give sellers real listing management (mark sold / relist / delete) (1.2.30) 2026-09-07 22:24:47 +07:00
contexts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
hooks Marketplace: give sellers real listing management (mark sold / relist / delete) (1.2.30) 2026-09-07 22:24:47 +07:00
i18n Remove non-functional NoGood Radio everywhere (unused hook, i18n keys, onboarding refs) 2026-08-27 10:04:50 +07:00
lib fix(amber): stop passive decryption from storming Amber on navigation (1.2.16) 2026-09-07 14:57:35 +07:00
pages Add tour editing — the gap flagged in the addressable-events audit (1.2.33) 2026-09-07 22:42:34 +07:00
test Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
App.test.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
App.tsx Add first-launch beta disclaimer dialog + footer BETA badge 2026-08-01 12:14:42 +07:00
AppRouter.tsx Add tour editing — the gap flagged in the addressable-events audit (1.2.33) 2026-09-07 22:42:34 +07:00
index.css Hide visible scrollbar on mobile for a clean, app-like feel 2026-09-03 14:49:43 +07:00
main.tsx Fix native white screen: relative asset base + boot crash guard 2026-07-24 18:21:57 +07:00
vite-env.d.ts fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00