Nicolas Cantu a19b601205 Add image upload to presentation form and profile note
- Add ImageUploadField component for profile picture upload (NIP-95)
- Add pictureUrl field to AuthorPresentationDraft interface
- Store picture URL in Nostr event tags as 'picture'
- Display profile picture on author page
- Add discrete note indicating zapwall.fr profile differs from Nostr profile
- Update translations (FR/EN) for profile note
- All TypeScript checks pass
2025-12-28 16:11:54 +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-23 02:20:57 +01:00
\
2025-12-23 02:20:57 +01:00
\
2025-12-23 02:20: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

  • Nostr Authentication: Authenticate using Alby browser extension (NIP-07)
  • 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)

Lightning Wallet Setup

This project uses Alby browser extension for both Nostr authentication and Lightning payments:

  • Alby: Install the Alby browser extension
  • Alby provides both Nostr authentication (NIP-07) and Lightning payments (WebLN)

Users need to have Alby installed to authenticate and make payments. The application will prompt them to connect 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%