import React from 'react' import { ImageUploadField } from '../ImageUploadField' import { Button, Card, ErrorState, Input, Textarea } from '../ui' import { t } from '@/lib/i18n' import type { SeriesDraft } from './createSeriesModalTypes' import type { CreateSeriesModalController } from './useCreateSeriesModalController' export function CreateSeriesModalView({ ctrl }: { ctrl: CreateSeriesModalController }): React.ReactElement { return (
{!ctrl.canPublish ? : null}
) } function CreateSeriesModalHeader({ loading, onClose }: { loading: boolean; onClose: () => void }): React.ReactElement { return (

{t('series.create.title')}

) } function NotAuthorWarning(): React.ReactElement { return (

{t('series.create.error.notAuthor')}

) } function CreateSeriesForm({ ctrl }: { ctrl: CreateSeriesModalController }): React.ReactElement { return (
void ctrl.handleSubmit(e)} className="space-y-4"> ) } function SeriesTextFields(params: { draft: SeriesDraft setDraft: (draft: SeriesDraft) => void loading: boolean canPublish: boolean }): React.ReactElement { const disabled = params.loading || !params.canPublish return ( <> params.setDraft({ ...params.draft, title: value })} /> params.setDraft({ ...params.draft, description: value })} /> params.setDraft({ ...params.draft, preview: value })} /> ) } function SeriesCategoryField(params: { draft: SeriesDraft setDraft: (draft: SeriesDraft) => void loading: boolean canPublish: boolean }): React.ReactElement { const disabled = params.loading || !params.canPublish return (
) } function SeriesCoverField({ draft, setDraft }: { draft: SeriesDraft; setDraft: (draft: SeriesDraft) => void }): React.ReactElement { return ( setDraft({ ...draft, coverUrl: url })} helpText={t('series.create.field.cover.help')} /> ) } function SeriesError({ error }: { error: string | null }): React.ReactElement | null { if (!error) { return null } return } function SeriesActions(params: { loading: boolean; canPublish: boolean; onClose: () => void }): React.ReactElement { return (
) } function TextField(params: { id: string label: string value: string disabled: boolean required: boolean onChange: (value: string) => void }): React.ReactElement { return ( params.onChange(e.target.value)} required={params.required} disabled={params.disabled} /> ) } function TextAreaField(params: { id: string label: string value: string disabled: boolean required: boolean rows: number helpText?: string onChange: (value: string) => void }): React.ReactElement { return (