import Head from 'next/head'
import { useRouter } from 'next/router'
import { ConnectButton } from '@/components/ConnectButton'
import { ArticleEditor } from '@/components/ArticleEditor'
import { useEffect, useState } from 'react'
import { useNostrConnect } from '@/hooks/useNostrConnect'
import { getSeriesByAuthor } from '@/lib/seriesQueries'
function PublishHeader() {
return (
Publish Article - zapwall4Science
)
}
function PublishHero({ onBack }: { onBack: () => void }) {
return (
Publish New Article
Create an article with a free preview and paid full content
)
}
export default function PublishPage() {
const router = useRouter()
const { pubkey } = useNostrConnect()
const [seriesOptions, setSeriesOptions] = useState<{ id: string; title: string }[]>([])
const handlePublishSuccess = () => {
setTimeout(() => {
void router.push('/')
}, 2000)
}
useEffect(() => {
if (!pubkey) {
setSeriesOptions([])
return
}
const load = async () => {
const items = await getSeriesByAuthor(pubkey)
setSeriesOptions(items.map((s) => ({ id: s.id, title: s.title })))
}
void load()
}, [pubkey])
return (
<>
{
void router.push('/')
}}
onPublishSuccess={handlePublishSuccess}
seriesOptions={seriesOptions}
/>
>
)
}
function PublishLayout({
onBack,
onPublishSuccess,
seriesOptions,
}: {
onBack: () => void
onPublishSuccess: () => void
seriesOptions: { id: string; title: string }[]
}) {
return (
)
}