Architecture: - usePlatformFee hook: central fee config (featuredEvent/labProfile/featuredShop) 5,000 sats each, 30-day validity, localStorage persistence, owner bypass - PlatformFeePayment component: generic reusable payment gate auto-pay via NWC/WebLN, QR fallback, active/expired state display all fees route to skatespots@minibits.cash Events (CreateEventPage): - New optional "Entry Fee" field - Triggers 5,000 sat platform fee when filled - Stores entry-fee + paid tags on published event - Free events: zero friction unchanged The Lab (Become{Coach,Filmer,Editor}Page): - Triggers 5,000 sat fee when "Rate" field is filled - Submit disabled with clear CTA until fee paid - Free/volunteer profiles: zero friction unchanged Rule: "pay only when you earn" - No rate set → publish instantly, no fee - Rate set → 5,000 sats to SkateSpots, valid 30 days - Platform owners always bypass Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
32 lines
1.4 KiB
Text
32 lines
1.4 KiB
Text
v1.0.62 — Platform monetization: listing fees for paid events & Lab profiles
|
|
|
|
NEW: usePlatformFee hook — central fee configuration
|
|
- PLATFORM_FEES.featuredEvent = 5,000 sats (paid/ticketed events)
|
|
- PLATFORM_FEES.labProfile = 5,000 sats (coaches/filmers/editors with a rate)
|
|
- PLATFORM_FEES.featuredShop = 10,000 sats (reserved for future use)
|
|
- 30-day validity stored in localStorage per fee type
|
|
- Platform owner pubkeys always bypass fees automatically
|
|
|
|
NEW: PlatformFeePayment component — generic, reusable payment gate
|
|
- Auto-pay via connected NWC or WebLN wallet
|
|
- QR code fallback for manual Lightning payment
|
|
- Shows "Active — X days remaining" when fee is already paid
|
|
- Branded gradient UI consistent with SkateSpots design system
|
|
- All fees go to skatespots@minibits.cash
|
|
|
|
FEATURE: CreateEventPage — entry fee field
|
|
- New "Entry Fee" input field (optional)
|
|
- When filled, triggers 5,000 sat platform listing fee gate
|
|
- Entry fee stored as event tag for display on event detail page
|
|
- Free events: zero friction, no fee required
|
|
|
|
FEATURE: BecomeCoachPage — monetized profile fee
|
|
- When "Rate" field is filled, 5,000 sat listing fee required
|
|
- Submit button locked with clear message until fee paid
|
|
- Free/volunteer coaches: zero friction
|
|
|
|
FEATURE: BecomeFilmerPage — same as coach
|
|
FEATURE: BecomeEditorPage — same as coach
|
|
|
|
RULE: "You only pay when you earn" — free profiles and free events
|
|
always publish instantly with zero fees.
|