import { Button, Card, EmptyState, Textarea } from '../ui' import { t } from '@/lib/i18n' import type { Page } from '@/types/nostr' export function PagesManager(params: { pages: Page[] onPageContentChange: (pageNumber: number, content: string) => void onPageTypeChange: (pageNumber: number, type: 'markdown' | 'image') => void onRemovePage: (pageNumber: number) => void onImageUpload: (file: File, pageNumber: number) => Promise }): React.ReactElement { if (params.pages.length === 0) { return } return (

{t('page.title')}

{params.pages.map((page) => ( params.onPageContentChange(page.number, content)} onTypeChange={(type) => params.onPageTypeChange(page.number, type)} onRemove={() => params.onRemovePage(page.number)} onImageUpload={async (file) => { await params.onImageUpload(file, page.number) }} /> ))}
) } function PageEditor(params: { page: Page onContentChange: (content: string) => void onTypeChange: (type: 'markdown' | 'image') => void onRemove: () => void onImageUpload: (file: File) => Promise }): React.ReactElement { return ( ) } function PageEditorHeader(params: { page: Page; onTypeChange: (type: 'markdown' | 'image') => void; onRemove: () => void }): React.ReactElement { return (

{t('page.number', { number: params.page.number })} - {t(`page.type.${params.page.type}`)}

) } function PageEditorBody(params: { page: Page; onContentChange: (content: string) => void; onImageUpload: (file: File) => Promise }): React.ReactElement { if (params.page.type === 'markdown') { return (