Nicolas Cantu 3000872dbc refactoring
- **Motivations :** Assurer passage du lint strict et clarifier la logique paiements/publications.

- **Root causes :** Fonctions trop longues, promesses non gérées et typages WebLN/Nostr incomplets.

- **Correctifs :** Refactor PaymentModal (handlers void), extraction helpers articlePublisher, simplification polling sponsoring/zap, corrections curly et awaits.

- **Evolutions :** Nouveau module articlePublisherHelpers pour présentation/aiguillage contenu privé.

- **Page affectées :** components/PaymentModal.tsx, lib/articlePublisher.ts, lib/articlePublisherHelpers.ts, lib/paymentPolling.ts, lib/sponsoring.ts, lib/nostrZapVerification.ts et dépendances liées.
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
ia
2025-12-22 09:58:10 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 17:56:00 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 09:48:57 +01:00
2025-12-22 09:48:57 +01:00

zapwall4Science

Plateforme de publication d'articles scientifiques et de science-fiction avec système de sponsoring, commissions et rémunération des avis. Les lecteurs peuvent lire les aperçus gratuitement et débloquer le contenu complet en payant avec Lightning Network.

Features

  • NostrConnect Integration: Authenticate using NostrConnect (default: use.nsec.app)
  • Free Previews: Public notes showing article previews
  • Paid Content: Private notes containing full content, unlocked after 800 sats zap
  • Lightning Payments: Integrated Alby/WebLN for Lightning payments (works with Alby and other Lightning wallets)
  • Payment Modal: User-friendly payment interface with invoice display
  • TypeScript: Fully typed codebase

Getting Started

  1. Install dependencies:
npm install
  1. Run the development server:
npm run dev
  1. Open http://localhost:3000 in your browser

Environment Variables

  • NEXT_PUBLIC_NOSTR_RELAY_URL: Nostr relay URL (default: wss://relay.damus.io)
  • NEXT_PUBLIC_NOSTRCONNECT_BRIDGE: NostrConnect bridge URL (default: https://use.nsec.app)

Lightning Wallet Setup

This project uses the WebLN standard for Lightning payments, which works with:

Users need to have a Lightning wallet extension installed to make payments. The payment flow will prompt them to connect their wallet when needed.

Project Structure

  • /pages: Next.js pages
  • /components: React components
  • /lib: Utilities and Nostr helpers
  • /types: TypeScript type definitions
  • /hooks: Custom React hooks
Description
No description provided
Readme MIT 1.7 MiB
Languages
TypeScript 97.8%
Shell 1.4%
JavaScript 0.4%
CSS 0.4%