import React from 'react' import { router, useForm, usePage } from '@inertiajs/react' import StudioLayout from '../../Layouts/StudioLayout' import Checkbox from '../../components/ui/Checkbox' import NovaSelect from '../../components/ui/NovaSelect' function toDateTimeInput(value) { return value ? String(value).slice(0, 16) : '' } export default function StudioGroupReleaseEditor() { const { props } = usePage() const release = props.release || null const form = useForm({ title: release?.title || '', summary: release?.summary || '', description: release?.description || '', release_notes: release?.release_notes || '', visibility: release?.visibility || props.visibilityOptions?.[0]?.value || 'public', status: release?.status || props.statusOptions?.[0]?.value || 'draft', current_stage: release?.current_stage || props.stageOptions?.[0]?.value || 'concept', planned_release_at: toDateTimeInput(release?.planned_release_at), lead_user_id: release?.lead?.id || '', linked_project_id: release?.linked_project?.id || '', linked_collection_id: release?.linked_collection?.id || '', featured_artwork_id: release?.featured_artwork?.id || '', is_featured: Boolean(release?.is_featured), cover_file: null, }) const stageForm = useForm({ current_stage: release?.current_stage || props.stageOptions?.[0]?.value || 'concept' }) const artworkAttach = useForm({ artwork_id: '' }) const contributorForm = useForm({ user_id: '', role_label: '' }) const milestoneForm = useForm({ title: '', summary: '', status: 'pending', due_date: '', owner_user_id: '', notes: '' }) const submit = (event) => { event.preventDefault() const options = { forceFormData: true, preserveScroll: true } if (props.updateUrl) { form.transform((data) => ({ ...data, _method: 'patch' })).post(props.updateUrl, options) return } form.post(props.storeUrl, options) } return (
form.setData('title', event.target.value)} placeholder="Release title" className="rounded-2xl border border-white/10 bg-black/20 px-4 py-3 text-white outline-none" />