import { useRouter } from 'next/router'
import Head from 'next/head'
import { useEffect, useState } from 'react'
import { getSeriesById } from '@/lib/seriesQueries'
import { getSeriesAggregates } from '@/lib/seriesAggregation'
import { getArticlesBySeries } from '@/lib/articleQueries'
import type { Series, Article } from '@/types/nostr'
import { SeriesStats } from '@/components/SeriesStats'
import { ArticleCard } from '@/components/ArticleCard'
import { t } from '@/lib/i18n'
import Image from 'next/image'
import { ArticleReviews } from '@/components/ArticleReviews'
import { useNostrAuth } from '@/hooks/useNostrAuth'
import Link from 'next/link'
function SeriesHeader({ series }: { series: Series }): React.ReactElement {
return (
)
}
export default function SeriesPage(): React.ReactElement | null {
const router = useRouter()
const { id } = router.query
const seriesId = typeof id === 'string' ? id : ''
const { series, articles, aggregates, loading, error } = useSeriesPageData(seriesId)
if (!seriesId) {
return null
}
return (
<>
Série - zapwall.fr
{loading &&
{t('common.loading')}
}
{error &&
{error}
}
{series && (
<>
>
)}
>
)
}
function SeriesActions({ series }: { series: Series }): React.ReactElement | null {
const { pubkey } = useNostrAuth()
// Only show "Create Publication" button if user is the author
if (!pubkey || pubkey !== series.pubkey) {
return null
}
return (
{t('series.createPublication')}
)
}
function SeriesPublications({ articles }: { articles: Article[] }): React.ReactElement {
if (articles.length === 0) {
return