story-research-zapwall/lib/articlePublisherTypes.ts
2026-01-06 14:17:55 +01:00

33 lines
850 B
TypeScript

import type { AlbyInvoice } from '@/types/alby'
import type { MediaRef, Page } from '@/types/nostr'
export interface ArticleDraft {
title: string
preview: string
content: string // Full content that will be sent as private message after payment
zapAmount: number
category?: 'science-fiction' | 'scientific-research'
seriesId?: string
bannerUrl?: string
media?: MediaRef[]
pages?: Page[] // A5 pages (for series publications)
}
export interface AuthorPresentationDraft {
title: string
preview: string
content: string
presentation: string
contentDescription: string
mainnetAddress: string
pictureUrl?: string | undefined
}
export interface PublishedArticle {
articleId: string
previewEventId: string
invoice?: AlbyInvoice // Invoice created by author (required if success)
success: boolean
error?: string
}