import Head from 'next/head'
import { useRouter } from 'next/router'
import { ArticleEditor } from '@/components/ArticleEditor'
import { useEffect, useState } from 'react'
import { useNostrAuth } from '@/hooks/useNostrAuth'
import { getSeriesByAuthor } from '@/lib/seriesQueries'
import { t } from '@/lib/i18n'
function PublishHeader() {
return (
{t('publish.title')} - {t('home.title')}
)
}
function PublishHero({ onBack }: { onBack: () => void }): JSX.Element {
return (
{t('publish.back')}
{t('publish.title')}
{t('publish.description')}
)
}
export default function PublishPage(): JSX.Element {
const router = useRouter()
const { pubkey } = useNostrAuth()
const [seriesOptions, setSeriesOptions] = useState<{ id: string; title: string }[]>([])
const handlePublishSuccess = (): void => {
setTimeout(() => {
void router.push('/')
}, 2000)
}
useEffect(() => {
if (!pubkey) {
setSeriesOptions([])
return
}
const load = async (): Promise => {
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 }[]
}): JSX.Element {
return (
)
}