import React from 'react' import { ImageUploadField } from '../ImageUploadField' 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 (

{error}

) } 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)} className="w-full px-3 py-2 bg-cyber-darker border border-cyber-accent/30 rounded text-cyber-light focus:border-neon-cyan focus:outline-none" 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 (