SkateSpots/src/lib/nip05Providers.ts
shakespeare.diy 5d96f8dfa8 Add tour countdown badges + fix/standardize NIP-05 provider prompts
Countdown badges (upcoming tours):
- New getCountdown() in TourCard: "In 3 days" / "Tomorrow" / "In 2 weeks" /
  "Happening now" (pulsing) based on start/end dates, category-tinted
- Shown on both compact and full TourCard, and in the TourDetailPage schedule card

NIP-05 provider fix (removes obsolete nip05.social):
- New single source of truth src/lib/nip05Providers.ts with working, curated
  providers: nostrcheck.me + nostr.directory (free), Nostr Plebs + nostr.band (paid)
- New reusable Nip05Required component (full-page "gate" + inline "banner"
  variants) listing those providers and deep-linking to /settings?section=nip05
- Wired into CreateTourPage (gate), CreateListingPage (banner) and all four
  Become* pages (Coach/Filmer/Photographer/Builder) for a consistent prompt
- SettingsPage NIP-05 screen now reads from the shared provider list
- Updated internal planning docs to match

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-09-09 22:31:44 +07:00

44 lines
1 KiB
TypeScript

/**
* Curated list of NIP-05 verification providers.
*
* Kept in one place so every "NIP-05 required" prompt across the app points at
* the same up-to-date, working services. Ordered best-first.
*
* Note: nip05.social was removed — it is obsolete / no longer reliable.
*/
export interface Nip05Provider {
name: string;
/** Short human description shown under the name. */
desc: string;
url: string;
/** true = has a free tier, false = paid only. */
free: boolean;
}
export const NIP05_PROVIDERS: Nip05Provider[] = [
{
name: 'nostrcheck.me',
desc: 'Free NIP-05 + media hosting',
url: 'https://nostrcheck.me',
free: true,
},
{
name: 'nostr.directory',
desc: 'Free NIP-05 via a tweet',
url: 'https://nostr.directory',
free: true,
},
{
name: 'Nostr Plebs',
desc: '~$5/yr · custom & shared domains',
url: 'https://nostrplebs.com',
free: false,
},
{
name: 'nostr.band',
desc: 'Paid · analytics included',
url: 'https://nostr.band',
free: false,
},
];